编辑下面的代码:【加编码】
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery Validate 插件 - 动态表单</title> <link rel="stylesheet" type="text/css" media="screen" href="http://jquery.bassistance.de/validate/demo/css/screen.css"> <script src="http://jquery.bassistance.de/validate/lib/jquery.js" type="text/javascript"></script> <script src="http://jquery.bassistance.de/validate/jquery.validate.js" type="text/javascript"></script> <script type="text/javascript"> // 只用于演示 $.validator.setDefaults({ submitHandler: function() { alert("submitted!"); } }); $.validator.messages.max = jQuery.validator.format("Your totals mustn't exceed {0}!"); $.validator.addMethod("quantity", function(value, element) { return !this.optional(element) && !this.optional($(element).parent().prev().children("select")[0]); }, "请选择项目和数量。"); $().ready(function() { $("#orderform").validate({ errorPlacement: function(error, element) { error.appendTo( element.parent().next() ); }, highlight: function(element, errorClass) { $(element).addClass(errorClass).parent().prev().children("select").addClass(errorClass); } }); var template = jQuery.validator.format($.trim($("#template").val())); function addRow() { $(template(i++)).appendTo("#orderitems tbody"); } var i = 1; // 开始时只有一行 addRow(); // 点击时添加更多行 $("#add").click(addRow); // 检查 quantity 输入框的 keyup 动作,更新 totals 字段 $("#orderform").validateDelegate("input.quantity", "keyup", function(event) { var totals = 0; $("#orderitems input.quantity").each(function() { totals += +this.value; }); $("#totals").attr("value", totals).valid(); }); }); </script> <style type="text/css"> form.cmxform { width: 50em; } em.error { background:url("/try/jquery/plugins/static/images/unchecked.gif") no-repeat 0px 0px; padding-left: 16px; } em.success { background:url("/try/jquery/plugins/static/images/checked.gif") no-repeat 0px 0px; padding-left: 16px; } form.cmxform label.error { margin-left: auto; width: 250px; } form.cmxform input.submit { margin-left: 0; } em.error { color: black; } #warning { display: none; } select.error { border: 1px dotted red; } </style> </head> <body> <div id="main"> <textarea style="display:none" id="template"> <tr> <td> <label>{0}. Item</label> </td> <td class="type"> <select name="item-type-{0}"> <option value="">请选择...</option> <option value="0">Learning jQuery</option> <option value="1">jQuery Reference Guide</option> <option value="2">jQuery Cookbook</option> <option vlaue="3">jQuery In Action</option> <option value="4">jQuery For Designers</option> </select> </td> <td class="quantity"> <input size="4" class="quantity" min="1" id="item-quantity-{0}" name="item-quantity-{0}"> </td> <td class="quantity-error"></td> </tr> </textarea> <form id="orderform" class="cmxform" method="get" action="foo.html"> <h2 id="summary"></h2> <fieldset> <legend>动态表单</legend> <table id="orderitems"> <tbody> </tbody> <tfoot> <tr> <td colspan="2"><label>总共(最多 25)</label></td> <td class="totals"><input id="totals" name="totals" value="0" max="25" readonly size="4"></td> <td class="totals-error"></td> </tr> <tr> <td colspan="2"> </td> <td><input class="submit" type="submit" value="提交"></td> </tr> </tfoot> </table> </fieldset> </form> <button id="add">向表单添加输入框</button> <h1 id="warning">您的表单包含大量的错误!请重新输入。</h1> </div> </body> </html>
结果: 【此窗口】 帮助?
Try it Yourself - © 自强学堂