我想知道如何填充第n个隐藏字段,使用jQuery创建的数组的第n个值。我已经成功创建了一个数组,将括号中的3个复选框选项(如果已选中)分组到数组中。 EX:[(A,B),(A,C),(A,B,C)......]。
我现在需要获取数组中的第n个值并使用该值填充第n个隐藏字段。
<input type="hidden" name="opt_0" id="opt_0" class="get_options">
<input type="hidden" name="opt_1" id="opt_1" class="get_options">
<table>
<tbody>
<tr class="registrant">
<td><input type="text" id="OETIPC-NAME0" name="OETIPC-NAME0"></td>
<td><input type="checkbox" name="OETIPC-A0" id="OETIPC-A0" class="reg_type" value="A"></td>
<td><input type="checkbox" name="OETIPC-B0" id="OETIPC-B0" class="reg_type" value="B"></td>
<td><input type="checkbox" name="OETIPC-C0" id="OETIPC-C0" class="reg_type" value="C"></td>
</tr>
<tr class="registrant">
<td><input type="text" id="OETIPC-NAME1" name="OETIPC-NAME1"></td>
<td><input type="checkbox" name="OETIPC-A1" id="OETIPC-A1" class="reg_type" value="A"></td>
<td><input type="checkbox" name="OETIPC-B1" id="OETIPC-B1" class="reg_type" value="B"></td>
<td><input type="checkbox" name="OETIPC-C0" id="OETIPC-C1" class="reg_type" value="C"></td>
</tr>
</tbody>
</table>
// Get registration option values and group for each row then create array
$('.registrant').each(function() {
var attendee_reg_type = $(this).find('.reg_type:checked').map(function() {
return this.value;
}).get();
});
我现在需要输出类似于以下内容的内容:
<input type="hidden" name="opt_0" id="opt_0" class="get_options" value="(A,B)">
<input type="hidden" name="opt_1" id="opt_1" class="get_options" value="(A,C)">
...
有人可以帮忙吗?我最好的方法就是迷失方向。我确实尝试了以下方法,但没有成功:
$('.registrant').each(function() {
var attendee_reg_type = $(this).find('.reg_type:checked').map(function() {
return this.value;
}).get();
$('#opt_[i]').val(attendee_reg_type[i]);
});
非常感谢帮助!
答案 0 :(得分:1)
为什么不删除隐藏的字段并重命名复选框,如下所示:
<table>
<tbody>
<tr>
<td><input type="text" id="OETIPC-NAME0" name="OETIPC-NAME0"></td>
<td><input type="checkbox" name="opt_0" id="OETIPC-A0" class="reg_type" value="A"></td>
<td><input type="checkbox" name="opt_0" id="OETIPC-B0" class="reg_type" value="B"></td>
<td><input type="checkbox" name="opt_0" id="OETIPC-C0" class="reg_type" value="C"></td>
</tr>
<tr>
<td><input type="text" id="OETIPC-NAME1" name="OETIPC-NAME1"></td>
<td><input type="checkbox" name="opt_1" id="OETIPC-A1" class="reg_type" value="A"></td>
<td><input type="checkbox" name="opt_1" id="OETIPC-B1" class="reg_type" value="B"></td>
<td><input type="checkbox" name="opt_1" id="OETIPC-C1" class="reg_type" value="C"></td>
</tr>
</tbody>
</table>
现在提交时,您将拥有选中的值,并以opt_0
和opt_1
键中的逗号分隔。
jQuery解决方案:
$('.registrant').each(function (index) {
var attendee_reg_type = $(this).find('.reg_type:checked').map(function () {
return this.value;
}).get().join(",");
$("#opt_" + index).val(attendee_reg_type);
});