jQuery动态选择复选框组onChange
jQuery dynamically select checkbox group onChange
我有一组动态行,每个行中都有下拉列表和复选框,如果选择了某个选项值,则需要在Change上选择所有复选框。
这对一个组来说很好,但当有多行并且从一行中选择了选项值时,onChange会触发从所有行中选择所有复选框,而不是从特定行中选择。
我设置了一个小提琴来澄清我的意思——我很确定我需要以某种方式获得一个行计数器,并在onChange中输入该计数器编号,这样它就不会选择所有复选框,只会选择正在更改的下拉列表所在的行。
http://jsfiddle.net/7brzct64/
<table>
<tr>
<td>
<!--First row eventRegistrations[1]-->
<select name="eventRegistrations[1].eventRegistrationStatusTypeID" id="registrationStatusSelect">
<option value="1">Pending</option>
<option value="2">Attended</option>
</select>
</td>
<td>
<input type="checkbox" name="eventRegistrations[1].markAttendance[1].attendanceDate" value="1">9/21/14
<input type="checkbox" name="eventRegistrations[1].markAttendance[2].attendanceDate" value="2">9/22/14</td>
</tr>
<!--There could be multiple dynamic rows whose input names increment like eventRegistrations[i]-->
<tr>
<td>
<!--Next dynamic row eventRegistrations[2]-->
<select name="eventRegistrations[2].eventRegistrationStatusTypeID" id="registrationStatusSelect">
<option value="1">Pending</option>
<option value="2">Attended</option>
</select>
</td>
<td>
<input type="checkbox" name="eventRegistrations[2].markAttendance[1].attendanceDate" value="1">10/23/14
<input type="checkbox" name="eventRegistrations[2].markAttendance[2].attendanceDate" value="2">10/24/14</td>
</tr>
如果我在事件注册[1]中硬编码1,则第一个下拉列表更改为"已出席"时效果良好。我认为需要一个计数器以某种方式获取每一行,循环或执行each()并传入基于哪个下拉列表的couner编号是eventRegistrations[I]基于哪个选择
$("select[name^='eventRegistrations[1]']").change(function () {
if ($(this).val() === '2') {
$("input[name^='eventRegistrations[1]']").prop('checked', true);
/*
var regCount = $(":input[name^='eventRegistrations[i]']").length
for (i = 1; i <= regCount; i++) {
$("input[name^='eventRegistrations[i]']").prop('checked', true);
}*/
}
});
谢谢你的帮助!
您可以将更改函数绑定到所有选择。然后,您可以检查使用了哪一个,并获得与复选框开头相同的起始字符串。就像这样:
$("select").change(function () {
if ($(this).val() === '2') {
var start = $(this).attr("name").split(".")[0];
$("input[name^='" + start + ".markAttendance']").prop('checked', true);
}
});
http://jsfiddle.net/7brzct64/2/
相关文章:
- 禁用复选框上的输入框 jquery NO onchange
- 使用 onChange 属性以内联方式更改复选框的值
- 动态复选框onchange&javascript
- 通过复选框上的onClick或onChange触发表单填写
- 使用 onChange 清除多个选择和复选框
- $.click() 和 $.trigger() 不会激活复选框的 onchange 函数
- 仅在使用书签在 chrome 中触发复选框 onchange 事件
- jQuery动态选择复选框组onChange
- 为什么这个复选框不触发jquery代码onchange?我什么都试过了,但都不起作用
- 复选框和onchange方法用法
- 如果选中复选框,则更改颜色-onchange事件
- Onchange事件是不火的asp复选框仅在chrome浏览器
- 动态更改复选框不会触发onChange
- 不能通过"onchange"通过jQuery/JavaScript监听一个复选框
- 多个复选框下拉onchange()不起作用
- 动态复选框onchange不工作使用jquery
- 复选框onchange功能在IE和Chrome中无法正常工作
- Javascript复选框onchange与动态id和名称
- 在Reactjs中使选中/未选中属性onChange复选框
- JavaScript onchange复选框仍选中“取消”