通过一系列复选框填充文本框

时间:2013-10-15 15:04:02

标签: javascript jquery arrays checkbox

我正在尝试从多个复选框中填充一系列文本框。有8个文本框,似乎代码只会填充其中一个字段。

这是复选框:

<input name="naicscode" id="naicsCodeCheckbox0" class="naicsCodeCheckbox" type="checkbox" value="1" />
<input name="naicscode" id="naicsCodeCheckbox1" class="naicsCodeCheckbox" type="checkbox" value="1" />
<input name="naicscode" id="naicsCodeCheckbox2" class="naicsCodeCheckbox" type="checkbox" value="2" />
<input name="naicscode" id="naicsCodeCheckbox3" class="naicsCodeCheckbox" type="checkbox" value="3" />
<input name="naicscode" id="naicsCodeCheckbox4" class="naicsCodeCheckbox" type="checkbox" value="4" />
<input name="naicscode" id="naicsCodeCheckbox5" class="naicsCodeCheckbox" type="checkbox" value="2" />
<input name="naicscode" id="naicsCodeCheckbox6" class="naicsCodeCheckbox" type="checkbox" value="3" />
<input name="naicscode" id="naicsCodeCheckbox7" class="naicsCodeCheckbox" type="checkbox" value="4" />
<input type="button" id="secondaryNaicsButton" name="save_value" value="Save" />

继承文本框:

<input name="secondaryNaicsCodeField" id="secondaryNaicsCode0" class="fpp_textfield NAICS-code-field" value=""  type="text" />
<input name="secondaryNaicsCodeField" id="secondaryNaicsCode1" class="fpp_textfield NAICS-code-field" value=""  type="text" />
<input name="secondaryNaicsCodeField" id="secondaryNaicsCode2" class="fpp_textfield NAICS-code-field" value=""  type="text" />
<input name="secondaryNaicsCodeField" id="secondaryNaicsCode3" class="fpp_textfield NAICS-code-field" value=""  type="text" />
<input name="secondaryNaicsCodeField" id="secondaryNaicsCode4" class="fpp_textfield NAICS-code-field" value=""  type="text" />
<input name="secondaryNaicsCodeField" id="secondaryNaicsCode5" class="fpp_textfield NAICS-code-field" value=""  type="text" />

   

这是我的jQuery:

 // gets values of check box in Secondary NAICS list
 $('#secondaryNaicsButton').click(function() {
   $('.naicsCodeCheckbox:checked').each(function(i){
   var val = [] 
   val[i] = $(this).val();
   for (var i =0; i < val.length; i++) {
     $('#secondaryNaicsCode'+i).val(val[i]);
   }
 });

我得到的结果是它会给出其中一个复选框的值并将其放在文本框3或4中。

这是控制台日志给我的:

111140                        fol_reg_form.js:215
undefined                     fol_reg_form.js:215
111150                        fol_reg_form.js:215
2
undefined                     fol_reg_form.js:215
111219                        fol_reg_form.js:215
3
undefined                     fol_reg_form.js:215
111331                        fol_reg_form.js:215
4
undefined                     fol_reg_form.js:215
111334 

2 个答案:

答案 0 :(得分:2)

试试这个:

$('#secondaryNaicsButton').click(function () {
    $('.naicsCodeCheckbox').each(function (i) {
        if (this.checked) {
            $('#secondaryNaicsCode' + i).val(this.value);
        }
    });
});

演示here

注意:在您的代码中,您没有名为.naicscode的类,因此我使用了类naicsCodeCheckbox。如果您想按名称使用,则可以使用相同的代码,而不是使用$('input[name="naicscode"]').each( //etc ...

答案 1 :(得分:-1)

我得到了代码。给了一些好建议。

这里是代码:

// gets values of check box in Secondary NAICS list
$('#secondaryNaicsButton').click(function() {
  $('.naicsCodeCheckbox:checked').each(function(e) {
    val = []
    val[e] = $(this).val();
    $('#secondaryNaicsCode'+e).val(val[e]);   
  }); 
});

demo here