您好我想告诉您,我知道有很多关于相同问题的堆栈溢出的解决方案。但是我的不同而且复杂。
我有Php变量,它有逗号分隔值,如“car_ferrari,car_jaguar,car_lamborghini”,我有多个复选框
name ='car []'value ='car_ferrari'
name ='car []'value ='car_lamborghini'
name ='car []'value ='car_hummer'
name ='car []'value ='car_jaguar'
name ='car []'value ='car_aston'
如果此变量具有相同的字符串值,我想检查checbox。
如同复选框的值 car_ferrari,car_jaguar,car_lamborghini应该被检查
我有大量的这些类型的变量以及大量的复选框数组。我知道我可以使用explode然后使用in_array()但是为每一个都设置条件真的很耗时大约400个复选框的复选框。
如果Jquery有助于解决问题,我会使用它,但给我一个合适的答案。请问我查询。
提前致谢。
答案 0 :(得分:2)
我创建了一个JSFiddle,它演示了如何用逗号分割字符串,然后迭代并选择带有相应值的复选框。
var myString = "car_ferrari,car_jaguar,car_lamborghini";
var selectedCarArray = myString.split(",");
selectedCarArray.forEach(function(element) {
document.getElementById('checkbox_' + element).checked = true;
});
<input type="checkbox" name="car[]" value="car_ferrari" id="checkbox_car_ferrari" />
<input type="checkbox" name="car[]" value="car_lamborghini" id="checkbox_car_lamborghini" />
<input type="checkbox" name="car[]" value="car_hummer" id="checkbox_car_hummer" />
<input type="checkbox" name="car[]" value="car_jaguar" id="checkbox_car_jaguar" />
<input type="checkbox" name="car[]" value="car_aston" id="checkbox_car_aston" />
var myString = "car_ferrari,car_jaguar,car_lamborghini";
var selectedCarArray = myString.split(",");
selectedCarArray.forEach(function(element) {
$('input[value="' + element + '"]').prop('checked', true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="car[]" value="car_ferrari" />
<input type="checkbox" name="car[]" value="car_lamborghini" />
<input type="checkbox" name="car[]" value="car_hummer" />
<input type="checkbox" name="car[]" value="car_jaguar" />
<input type="checkbox" name="car[]" value="car_aston" />