我目前有一個checkbox的群組 然後name是一樣的 只有val去區分checkbox的欄位
<input type="checkbox" name="basicInfo[]" value="sex">
<input type="checkbox" name="basicInfo[]" value="phone">
<input type="checkbox" name="basicInfo[]" value="perID">
<input type="checkbox" name="basicInfo[]" value="brithday">
<input type="checkbox" name="basicInfo[]" value="email">
<input type="checkbox" name="basicInfo[]" value="jobID">
如果我要一開始就幫使用者先勾選性別跟電話
就是要找value=sex 跟 phone的先勾選
那jquery選擇器要如何選取
$().prop('checked', true);
14:45 更新
var defArr = ['sex', 'phone']
$('[name="basicInfo[]"]').each(function(){
if($.inArray($(this).val(), defArr) > -1){
$(this).prop('checked', true);
}
});
不知道有沒有其他更好的方法 目前只有想到這個 可以去處理
利用input name選擇去選擇就可以囉~
$("input[name='basicInfo[]']").prop('checked',true);
因為是作群組的概念 所以name整個群組都會一樣
所以沒辦法個別去用程式勾選
加[]是要回傳給後端作陣列用
let cbxVehicle=[];
$("input[name=basicInfo]").prop('checked',true);
$("input:checkbox:checked[name=basicInfo]").each(function (i) {
cbxVehicle[i]=$(this).val();
console.log(cbxVehicle);
});
不用加也可以達到你要的陣列效果,jq可以判斷勾選的checkbox 有哪些,再自行加入陣列也是一樣的意思喔~
習慣陣列會給[]去辨別這是陣列元素
$('input:checkbox:checked[name="basicInfo[]"]').map(function(){return $(this).val();}).get();
我組的方式是這樣 XD 去跑有勾選的map 組起來回傳給PHP去做成陣列
迴圈的習慣就看個人囉xd
kekeke
這邊最好不要隨便教。
使用[]算是正規的from用法沒錯。
要不然會沒辦法傳送正常值的。
$("input[name='basicInfo[]']").each(function() {
if ($(this).val() =="sex") {
$(this).prop("checked", true);
}
});
<input type="checkbox" name="basicInfo[]" value="sex" checked>
<input type="checkbox" name="basicInfo[]" value="phone" checked>
<input type="checkbox" name="basicInfo[]" value="perID">
<input type="checkbox" name="basicInfo[]" value="brithday">
<input type="checkbox" name="basicInfo[]" value="email">
<input type="checkbox" name="basicInfo[]" value="jobID">
這樣不好嗎?科科