Jquery表单字段复制

Jquery表单字段复制,jquery,forms,duplicates,field,Jquery,Forms,Duplicates,Field,我有一个相当长的复杂php表单,需要复制一组字段。我确信一定有一种更有效的编码方法,但是我想不出来。下面有两个例子(超过15个),其中唯一改变的是ID,即#PN等。是否有可能通过字段循环 $(document).ready(function(){ $("#PN1").click(function(){ if ($("#PN1").is(':checked')) { // Checked, copy values

我有一个相当长的复杂php表单,需要复制一组字段。我确信一定有一种更有效的编码方法,但是我想不出来。下面有两个例子(超过15个),其中唯一改变的是ID,即#PN等。是否有可能通过字段循环

$(document).ready(function(){
            $("#PN1").click(function(){
            if ($("#PN1").is(':checked')) {
             // Checked, copy values  
             $("#PNevent1").val($("#PNevent0").val());  
             $("#PNroom1").val($("#PNroom0").val());  
             $("textarea#PNdescription1").val($("textarea#PNdescription0").val());  
             $("select#PNmenu1").val($("select#PNmenu0").val());  
             $("#PNdate1").val($("#PNdate0").val());  
             $("#PNtimestart1").val($("#PNtimestart0").val());  
             $("#PNtimeend1").val($("#PNtimeend0").val());  

} else {
// Clear on uncheck
             $("#PNevent1,#PNroom1,textarea#PNdescription1,select#PNmenu1,#PNdate1,#PNtimestart1,#PNtimeend1").val(""); 
            }
            });

$("#PN2").click(function(){
            if ($("#PN2").is(':checked')) {
             // Checked, copy values  
             $("#PNevent2").val($("#PNevent1").val());  
             $("#PNroom2").val($("#PNroom1").val());  
             $("textarea#PNdescription2").val($("textarea#PNdescription1").val());  
             $("select#PNmenu2").val($("select#PNmenu1").val());  
             $("#PNdate2").val($("#PNdate1").val());  
             $("#PNtimestart2").val($("#PNtimestart1").val());  
             $("#PNtimeend2").val($("#PNtimeend1").val());  

} else {
            // Clear on uncheck
             $("#PNevent2,#PNroom2,textarea#PNdescription2,select#PNmenu2,#PNdate2,#PNtimestart2,#PNtimeend2").val(""); 
            }
            });
});

使用伪选择器:首先要确保选择器不会重复

,因为选择器只是字符串,所以可以执行以下操作:

for(var i = 1; i < 15; i++) {

     $("#PN" + i).click(function(){
         if ($("#PN" + i).is(':checked')) {
              // Checked, copy values  
              $("#PNevent" + i).val($("#PNevent + (i-1)").val());  
              $("#PNroom" + i).val($("#PNroom + (i-1)").val());  
              $("textarea#PNdescription" + i).val($("textarea#PNdescription" + (i-1)).val());  
              $("select#PNmenu" + i).val($("select#PNmenu" + (i-1)).val());  
              $("#PNdate" + i).val($("#PNdate" + (i-1)).val());  
              $("#PNtimestart" + i).val($("#PNtimestart" + (i-1)).val());  
              $("#PNtimeend" + i).val($("#PNtimeend" + (i-1)).val());  
         }
     }); 
}
for(变量i=1;i<15;i++){
$(“#PN”+i)。单击(函数(){
如果($(“#PN”+i.).is(':checked')){
//选中,复制值
$(“#PNevent”+i).val($(“#PNevent+(i-1)”).val());
$(“#PNroom”+i).val($(“#PNroom+(i-1)”.val());
$($($($($).val());
$($($($($($).val());
$(“#PNdate”+i).val($(“#PNdate”+(i-1)).val());
$(“#PNtimestart”+i).val($(“#PNtimestart”+(i-1)).val());
$(“#PNtimeend”+i).val($(“#PNtimeend”+(i-1)).val());
}
}); 
}

不确定这种语法是否正确,但想法应该是正确的。

您也可以参考本网站,了解如何使用jQuery插件通过几行代码复制字段。。 简单到1 2 3


谢谢

这篇很棒的文章,但是我什么时候会使用这样的东西呢?