easyui点击人数自动生成一行表单时间
管理员 发布于 6年前   424
功能效果:
代码:
<form id="form" method="post" onsubmit="return submit();" style="margin:0;padding:5px 5px" data-options="novalidate:true"> <div id="bookDiv" class="easyui-panel" data-options="title:'预订信息',halign:'left',headerCls:'panel'" style="height: 100px"> <table border="0" cellspacing="0" style="border-color: #e6efff;margin: 10px;"> <thead> <tr> <th width="70">用户类型</th> <th>采购价</th> <th>利润</th> <th>服务费</th> <th>销售价</th> <th>出行人数</th> </tr> </thead> <tbody> <tr> <td> <input type="text" class="easyui-numberbox price cosprice" id="adultcosprice" name="adultcosprice" style="width:100px;" data-options="precision:2"> </td> <td> <input type="text" class="easyui-numberbox price" name="" style="width:100px;"> </td> <td> <input type="text" class="easyui-numberbox price" name="adultcharge" style="width:100px;" data-options="precision:2"> </td> <td> <input type="text" class="easyui-numberbox price insurprice" name="" style="width:100px;" data-options="editable:false,precision:2"> </td> <td> <input type="text" class="easyui-numberbox sumprice" id="adultprice" name="adultprice" style="width:100px;" data-options="editable:false,precision:2"> </td> <td> <input type="text" class="easyui-numberspinner number" id="ss" name="adultnumber" style="width:100px;" data-options="editable:false,min:1,value:1"> </td> </tr> </tbody> </table> </div> <div id="passenagersDiv" class="easyui-panel" data-options="title:'出行人信息',halign:'left', headerCls:'panel'" style="height: 90px"> <table style="border-color: #e6efff;margin: 10px;"> <thead> <tr> <th>类型</th> <th>人员姓名</th> <th>证件类型</th> <th>证件信息</th> <th>联系电话</th> </tr> </thead> <tbody id="passengers"> <tr> <td> <input type="text" class="easyui-combobox" name="passenger[0][usertype]" data-options="width:100,required:true,panelHeight:'auto',editable:false,required:true,valueField: 'key',textField: 'value'"> </td> <td> <input type="text" class="easyui-textbox" name="passenger[0][username]" data-options="width:100,required:true"></td> <td> <input type="text" class="easyui-combobox" name="passenger[0][idtype]" data-options="width:100,required:true,panelHeight:'auto',editable:false,required:true,valueField: 'key',textField: 'value' "> </td> <td> <input type="text" class="easyui-textbox" name="passenger[0][userno]" data-options="width:150,required:true"></td> <td> <input type="text" class="easyui-textbox" name="passenger[0][mobile]" data-options="width:100,required:true, validType:['mobile']"> </td> </tr> </tbody> </table> </div> <input type="submit" value="Submit"></input> </form> <script type="text/javascript"> //点击生成tr 及里面的td input $('#ss').numberspinner({ min: 1, max: 10, editable: false, onChange:function(newValue,oldValue) { setUser('passengers',newValue,oldValue) } }); //动态添加出行人信息 function setUser(tableId,newNum,oldNum) { oldNum = oldNum ? parseInt(oldNum) : 0; var len = $('#passengers tr').length; var key = parseInt(len - oldNum) + parseInt(newNum); var num = key; //console.log(oldNum) //根据人数生成 newNum行 for(var i=len;i<newNum;i++) { //拼接表格 $("#"+tableId).append('<tr>' + '<td><input type="text" class="easyui-textbox" name="passenger['+key+'][usertype]" data-options="panelHeight:'+"'auto'"+',editable:false,valueField: '+"'key'"+',textField: '+"'value'"+',data:[],required:true,width:100"/></td>' + '<td><input type="text" class="easyui-textbox" name="passenger['+key+'][username]" data-options="required:true,width:100"></td>' + '<td><input class="easyui-combobox cardtype" name="passenger['+key+'][idtype]" data-options="panelHeight:'+"'auto'"+',editable:false,valueField: '+"'key'"+',textField: '+"'value'"+',data:[],required:true,width:100" /></td>' + '<td><input type="text" class="easyui-textbox" name="passenger['+key+'][userno]" data-options="required:true,width:150"></td>' + '<td><input type="text" class="easyui-textbox" name="passenger['+key+'][mobile]" data-options="width:100"></td></tr>' ); } //渲染 $.parser.parse($('#'+tableId)); //根据人数自动减少newNum行 $('#passengers tr:gt(' + (newNum - 1)+ ')').remove(); $('#passenagersDiv').panel({height:64+26*num}); } //保存 function submit() { $.ajax({ type: 'POST', url: '/welcome/test', data: $('#form').serialize(), dataType: "json", beforeSend: function (xhr) { if ($('#form').form('validate')) { $.messager.progress(); return true; } $('#form').find(".validatebox-invalid:first").focus(); return false; }, success: function (res) { $.messager.progress('close'); if (res.status == 200) { $("#form").parent().dialog("close"); $.messager.alert('操作提示', res.msg, 'info'); return true; } $.messager.alert('操作提示', res.msg, 'error'); } }); return false; } </script>
实现效果图:
生成提交的数据:
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
该博客于2020-12-7日,后端基于go语言的beego框架开发
前端页面使用Bootstrap可视化布局系统自动生成
是我仿的原来我的TP5框架写的博客,比较粗糙,底下是入口
侯体宗的博客
文章标签
友情链接