我有一組動態的行,每個行中都有一個下拉框和複選框,並且如果選擇某個選項值,需要選擇onChange上的所有複選框。jQuery動態選擇複選框組onChange
這對一個組很好,但是當有多行並且從一行中選擇選項值時,onChange會觸發從所有行中選擇所有複選框而不是特定行。
我設置了一個小提琴來澄清我的意思 - 非常確定我需要以某種方式獲得一個計數器的行並通過onChange中的計數器號碼,因此它不會選中所有複選框,並且只會更改下拉列是英寸
<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>
工作正常的第一下拉改爲 「出席」 如果我在eventRegistrations硬編碼1 [1]。 我認爲需要一個計數器以獲得每一行以某種方式,環或做一個各()和在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);
}*/
}
});
感謝幫助!
你需要保持這樣的名字呢?方括號中的名字是很少見的 – 2014-10-29 18:04:49
@ k-nut是的,如果可能的話,我需要將它們的名字保留在標記中。謝謝!! – Jibes 2014-10-29 18:05:42
好吧,我會盡快給你解決方案 – 2014-10-29 18:07:58