2017-07-31 33 views
0

你好
我想告诉你,我知道有很多解决堆栈溢出问题的例子,但是关于相同的问题。但我的是不同的和复杂的。

我有PHP变量已经逗号等分隔值 “car_ferrari,car_jaguar,car_lamborghini”和我有多个的复选框
enter image description here        名= '车[]'          值= 'car_ferrari'      
enter image description here        名= '车[]'          值= 'car_lamborghini'      
enter image description here        名= '车[]'          值= 'car_hummer'      
enter image description here        名='车[] '          value ='car_jaguar'     
enter image description here        名= '车[]'          值= 'car_aston'      
从字符串中预先检查PHP的复选框

我要检查checbox如果这个变量字符串的值相同。
car_ferrari的价值就像复选框,car_jaguar,car_lamborghini应检查
我有大量的这些类型的变量以及大量的复选框array.I知道我可以使用爆炸,然后in_array(),但将约400个复选框的每个复选框放入条件非常耗时。

如果jquery会帮忙把它整理出来,我会用它,但给我一个合适的答案。询问我是否需要查询。
在此先感谢。

+0

您需要拆分的逗号你的字符串然后过来就是和匹配W¯¯迭代ith你的复选框。 – Webbanditten

+0

将字符串传递给jQuery,然后使用它遍历您的值并检查所需的复选框。 – Tom

+0

请检查出来的URL [链接] http://www.codenomad.biz/ssa-agency/info并点击**遗传史** 我对每行每一个变量,我想请选中该复选框谁拥有与该复选框相同的值。 希望你明白我的意思。 – Boyka

回答

2

我创建了一个JSFiddle,演示了如何通过逗号分割字符串,然后迭代并选中具有相应值的复选框。

纯JS解决方案

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" />

jQuery的解决方案

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" />

+0

您是否检查了我提供给您的Url。 我有大量的PHP变量,如“shoes_adidas,shoes_reebok,shoes_nike” 和我有多个的复选框有 如果我有大量的PHP变量和大集的复选框的。 我不能使用静态值,如var myString =“car_ferrari,car_jaguar,car_lamborghini”; – Boyka

+0

访问您的网址时我被重定向。 – Webbanditten

+0

用户名:[email protected] 通:manpreet @ 123 它仅仅是一个虚拟数据 – Boyka