// JSP
<input type="checkbox" name="selectCode" value="..." onclick="selectProductCode('...', this)">
// JS
function selectProductCode(code, cb) {
alert($("input:checkbox[name='selectCode']:checked").is(':checked'));
}
現象:取消勾選時,只有最後一個為 `false`,前面取消的仍 `true`。
`$("input:checkbox[name='selectCode']:checked")` **選取的是所有已勾選的 checkbox 集合**,`.is(':checked')` 只要集合**非空**即返回 `true`。
取消第一個時,集合還有其它勾選項 → `true`;只有**全取消**時集合為空 → `false`。
// JSP 傳遞 this
onclick="selectProductCode('...', this)"
// JS
function selectProductCode(code, cb) {
alert(cb.checked); // 原生屬性,true/false
// 或 jQuery
alert($(cb).is(':checked'));
// 後續業務:如同步更新隱藏域、計算總價...
}
var checkedValues = $("input:checkbox[name='selectCode']:checked").map(function() {
return this.value;
}).get(); // 數組