文本框多值字段,当前页面点击上移、下移、插入、置顶、置底、删除行,主要不懂js,勉强凑合能用有大神的话,可以更改下。 1、主要是插入行,不能连续点击插入,只能插入一行后,再新的一行点击插入按钮,不懂js 不知道怎么写ID变动。 有看到的大佬,有时间的可以帮忙改动下,修复下bug有红包奉上。 html代码感谢帝国创始人、郑州瓜牛网络(张总)、函数感谢jiuhecai 第一步: 以当前需要的字段: 字段名:extend 字段标识:数据接口表 字段类型:中型字段 后台增加信息处理函数:extend 后台修改信息处理函数:extend 输入表单显示元素:单行文本框(text) 输入表单替换html代码: <table> <thead id="row_head_extend" style="<?=$ecmsfirstpost==1 || !$r[extend] ? 'display:none' : '';?>"> <tr> <td>参数值</td> <td>参数地址</td> <td> </td> </tr> </thead> <tbody id="row_body_extend"> <?php if($r['extend']){ $r['extend']=stripSlashes($r['extend']); ?> <?php //录入项 $j=0; $mvf_record=explode('||||||',$r['extend']); $mvf_count=count($mvf_record); for($i=0;$i<$mvf_count;$i++){ $j=$i+1; $mvf_field=explode("::::::",$mvf_record[$i]); ?> <tr id="<?=$j?>"> <td><input type="text" name="extend_1[]" value="<?=$mvf_field[0]?>" size="15"></td> <td><input type="text" name="extend_2[]" value="<?=$mvf_field[1]?>" size="50"></td> <td><input type="button" onclick="row_prev('<?=$j?>')" value="上移" /></td> <td><input type="button" onclick="row_next('<?=$j?>')" value="下移" /></td> <td><input type="button" onclick="row_insert('<?=$j?>')" value="插入" /></td> <td><input type="button" onclick="row_prepend('<?=$j?>')" value="置顶" /></td> <td><input type="button" onclick="row_append('<?=$j?>')" value="置底" /></td> <td><input type="button" onclick="row_del('<?=$j?>')" value="删除" /></td> </tr> <?php } } ?> </tbody> <tfoot> <tr> <td><input type="button" id="add_row_extend" value="增加参数" /> 参数值:login_key、login_url、pay_key、pay_url、role_key、role_url</td> </tr> </tfoot> </table> <script> $(function(){ $('#add_row_extend').click(function(){ var str = Math.random().toString(); var id = str.replace('.','_'); var row_html = ''; row_html += '<tr id="'+id+'">'; row_html += ' <td><input type="text" name="extend_1[]" value="" size="15"></td>'; row_html += ' <td><input type="text" name="extend_2[]" value="" size="50"></td>'; row_html += ' <td><input onclick="row_prev(\''+id+'\')" type="button" value="上移" /></td>'; row_html += ' <td><input onclick="row_next(\''+id+'\')" type="button" value="下移" /></td>'; row_html += ' <td><input onclick="row_insert(\''+id+'\')" type="button" value="插入" /></td>'; row_html += ' <td><input onclick="row_prepend(\''+id+'\')" type="button" value="置顶" /></td>'; row_html += ' <td><input onclick="row_append(\''+id+'\')" type="button" value="置底" /></td>'; row_html += ' <td><input onclick="row_del(\''+id+'\')" type="button" value="删除" /></td>'; row_html += '</tr>'; $('#row_body_extend').append(row_html); $('#row_head_extend').show(); }) }) function row_del(id){ if(!id) return; $('#'+id).remove(); } function row_prev(id){ if(!id) return; $('#'+id).insertBefore($('#'+id).prev()); } function row_next(id){ if(!id) return; $('#'+id).insertAfter($('#'+id).next()); } function row_prepend(id){ if(!id) return; $('#'+id).prependTo($('#'+id).parent()); } function row_append(id){ if(!id) return; $('#'+id).appendTo($('#'+id).parent()); } function row_insert(id){ if(!id) return; $('#'+id).after('<tr id="'+id+1+'"><td><input type="text" name="extend_1[]" value="" size="15"></td><td><input type="text" name="extend_2[]" value="" size="50"></td><td><input onclick="row_prev(\''+id+1+'\')" type="button" value="上移" /></td><td><input onclick="row_next(\''+id+1+'\')" type="button" value="下移" /></td><td><input onclick="row_insert(\''+id+1+'\')" type="button" value="插入" /></td><td><input onclick="row_prepend(\''+id+1+'\')" type="button" value="置顶" /></td><td><input onclick="appendTo(\''+id+1+'\')" type="button" value="置底" /></td><td><input onclick="row_del(\''+id+1+'\')" type="button" value="删除" /></td></tr>'); } //append() 方法在被选元素的结尾插入内容。 //prepend() 方法在被选元素的开头插入内容。 //after() 方法在被选元素之后插入内容。 //before() 方法在被选元素之前插入内容。 //insertBefore()上移,insertAfter()下移,prependTo()置顶,appendTo()置底 </script>
第二步:/e/class/userfun.php增加函数 //接口参数 function extend($mid,$f,$isadd,$isq,$value,$cs){ //参数说明:user_FieldFun:函数名、$mid:系统模型ID、$f:字段名、$isadd:值为1时是增加信息;值为0时是修改信息、$isq:值为0时是后台处理;值为1时是前台处理、$value:字段原内容、$cs:字段附加参数,字段处理函数处设置的参数内容 $add = $_POST; //$f = 'extend';//字段名 $rvarname = $f.'_1';//字段名 $count = count($add[$rvarname]);//统计多值字段的数量 if(empty($count)){ return ''; } $mvnum = 2;//默认值 $mvmust = 0;//默认值 $rexp = '||||||';//分割符号 $fexp = '::::::';//间隔符号 $rstr = ''; $rstrexp = ''; for($i=0;$i<$count;$i++){ $fstr = ''; $fstrexp = ''; $fstrempty = 0; for($j=0;$j<$mvnum;$j++){ $k = $j+1; $fsvarname = $f.'_'.$k; $fsval = $add[$fsvarname][$i];//$add写入变量 $fsval = str_replace($rexp,'',$fsval); $fsval = str_replace($fexp,'',$fsval); if(CheckValEmpty($fsval)) { if($k==$mvmust){ break; $fstrempty=1; } } $fstr.=$fstrexp.$fsval; $fstrexp = $fexp; } if(empty($fstr)||$fstrempty){ continue; } $rstr.=$rstrexp.$fstr; $rstrexp = $rexp; } return $rstr; }
上传以下图片:
|