我有一个jquery问题。我目前将一些数据存储在一个由逗号分隔的mysql表中。以下是存储数据的示例
Tbl_stage“概念,前提,10毫米,20毫米”
一旦我在php中回显这些数据,我需要检查每个复选框是否包含在数组中
<label><input type="checkbox" id="check-item" class="primary1" checked /> concept </label>
<label><input type="checkbox" id="check-item" class="primary1" checked /> pre-revenue </label>
<label><input type="checkbox" id="check-item" class="primary1" /> sample blank data </label>
非常感谢您的帮助!
答案 0 :(得分:3)
array
string
周围没有任何空格。checkbox
检索到的text
array
个trimmed
标记DB
标签来过滤jQuery.prop(PROPERTY, STATE)
元素。checked
设置var str = " concept , prerevenue , 10mm , 20mm ";
var arr = str.split(' , ').map(function(el) {
return el.trim();
});
$('.primary1').filter(function() {
return (arr.indexOf($(this).closest('label').text().replace('-', '').trim()) !== -1);
}).prop('checked', true);
属性。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<label>
<input type="checkbox" id="check-item" class="primary1" />concept</label>
<label>
<input type="checkbox" id="check-item" class="primary1" />pre-revenue</label>
<label>
<input type="checkbox" id="check-item" class="primary1" />sample blank data</label>
$totalInc
答案 1 :(得分:2)
使用查询从表中获取数据并将每个元素推送到数组中。 然后使用该数组检查复选框标记中的每个数据和回显
<?php
$query = 'Your query here to get the data from database table';
$results = array();
while($row = mysql_fetch_assoc($query))
{
$results[] = $row;
}
?>
<label>
<input type="checkbox" id="check-item" class="primary1" <?php if(in_array("concept",$results)) echo "checked";?> /> concept </label>
<label>
<input type="checkbox" id="check-item" class="primary1" <?php if(in_array("pre-revenue",$results)) echo "checked";?> /> pre-revenue </label>
<label>
<input type="checkbox" id="check-item" class="primary1" <?php if(in_array("sample blank data",$results)) echo "checked";?> /> sample blank data </label>
答案 2 :(得分:1)
我们在js中有分割功能 参考:http://www.w3schools.com/jsref/jsref_split.asp
拆分从服务器获取的字符串。它将是单词数组 例如
var str = "concept , prerevenue , 10mm , 20mm";
var res = str.split(",");
然后你将获得带有值的数组 概念 prerevenue 10毫米 20毫米
您可以循环它并将选中的值设置为true
$("input[type=checkbox][value=res[i]").attr("checked","true");
并且不要忘记将输入值的值与标签值相同
答案 3 :(得分:1)
按如下方式更新您的脚本:
<?php
$arr = array("concept" , "prerevenue" , "10mm" , "20mm"); ?>
<label><input type="checkbox" id="check-item" class="primary1" <?php echo in_array("concept",$arr) ? "checked" : "" ?> /> concept </label>
<label><input type="checkbox" id="check-item" class="primary1" <?php echo in_array("prerevenue",$arr) ? "checked" : "" ?> /> prerevenue </label>