在做公司的一个项目的时候有个需求,要在表格中动态添加多个input,前台用的easyui
由于当时需求比较急,没做出来,就指定了三个
后面需要改成动态添加一行或多行输入
看过很多文章说用innerHtml或者append方法,试过之后确实可以
function addPro(){
var obj = $('#tab').append( '<tr>'+
'<th><input class="easyui-validatebox" type="text" name="monit"/></th>'+
'<th><input class="easyui-validatebox" type="number" name="before"/></th>'+
'<th>'+
'<select name="beforeC" class="easyui-combobox" data-options="width:180,prompt:\'请选择\'">'+
'<option value=""></option>'+
'<option value=\'1\' selected>检出</option>'+
'<option value=\'0\'>未检出</option>'+
'</select>'+
'</th>'+
'<th>'+
'<select name="beforeV" class="easyui-combobox" data-options="width:180,prompt:\'请选择\'">'+
'<option value=""></option>'+
'<option value=\'1\' selected>检出</option>'+
'<option value=\'0\'>未检出</option>'+
'</select>'+
'</th>'+
'</tr>');}
但是样式变为最初的html样式,指定的easyui中的class不生效,功能倒还是能用。
后来查其他资料的时候意外看到了一个大哥提出了一个解决办法,重新渲染一下那段html,哈,成了,不过等写文章的时候记不清是哪篇文章了
加上下面代码
// 必须重新渲染,否则样式不生效
$.parser.parse(obj);
现在样子:
仅此记之
在此,提交成为了一个难题,有主从数据,一对多,请问各位大佬有没有好点的办法做form表单提交的时候将数据格式变为{ {"x1",obj},{"x2",obj},{"x3",list[]}}格式
或者各位有更好的方式动态添加,请指教!