我想知道如何使用我在下面使用jQuery创建的数组的第n个值填充第n个隐藏字段。我已经成功创建了一个数组,该数组将括号中的3个复选框选项(如果已选中)分组到该数组中。例如:[(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]);
});
非常感谢帮助!
为什么不简单地删除隐藏的字段并按以下方式重命名复选框:
<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);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句