我使用下面的代码在数据库中输入了复选框值。当用户想要稍后查看复选框时,如何从数据库中提取数据并重新检查最初检查和提交的复选框?
从下面的代码中输入数据如下:DATA1 | DATA2 | DATA3 |
var checkbox_value = "";
$(":checkbox").each(function () {
var ischecked = $(this).is(":checked");
if (ischecked) {
checkbox_value += $(this).val() + "|";
}
});
现在我如何使用DATA1 | DATA2 | DATA3 |并重新检查相应的复选框?
以下是我如何从正常输入文本框中获取其他数据并重新显示它:
$.ajax({
url: 'ajax/example/example.php',
data: "findval="+carrier+"&column="+column,
dataType: 'json',
success: function(data)
{
var auto_id = data['id'];
var auto_name = data['name'];
var auto_address = data['address'];
var auto_trailer_types = data['trailer_types'];
$('#output_autocomplete_forms').html("<form id='example' class='form-horizontal'><input type='hidden' name='auto_id' id='auto_id' class='form-control' value="+auto_id+">......<div class='form-group'>
<div class='checkbox'><label><input type='checkbox' name='trailer_kinds[]' value='DATA1'>DATA1</label></div>
<div class='checkbox'><label><input type='checkbox' name='trailer_kinds[]' value='DATA2'>DATA2</label></div>
<div class='checkbox'><label><input type='checkbox' name='trailer_kinds[]' value='DATA3'>DATA3</label></div>
var auto_trailer_types = data [&#39; trailer_types&#39;];
现在我该如何使用DATA1 | DATA2 | DATA3 |并重新检查相应的复选框?
答案 0 :(得分:0)
答案 1 :(得分:0)
所以,我猜测存储在数据库中的字符串类似0|0|1|0
,你需要将复选框恢复到该状态。
如前所述,您可以使用AJAX。首先,您需要一个触发器来启动AJAX例程 - 单击按钮,通常是:
<button id="mybutt">Update Checkboxes</button>
你的AJAX例程看起来像这样:
var rowID = $(this).closest('tr').attr('id');
alert(rowID); //this datum must allow you to identify the row in the database
$.ajax({
type: 'post',
url: 'another_php_file.php',
data: 'id=' +rowID,
success: function(recd){
var arrCB = recd.split('|');
for (var n=0; n<arrCB.length; n++){
var z = n+1;
$('#cb'+ z).val( arrCB[n] );
}
}
});
<强> another_php_file.php:强>
<?php
$id = $_POST['id'];
$pseudo_query = "SELECT `field_name` FROM `table_name` WHERE `id` = '$id' ";
echo $pseudo_query_result;
您回复的pseudo_query_result
应为原始0|0|1|0
。 PHP echo
将该数据发送回jQuery AJAX例程的success
函数。 重要提示:在成功功能之外,接收的数据不可用。您必须在成功函数中使用该数据执行所需操作,如上例所示。
在上面的代码中,.split()
用于将0|0|1|0
字符串转换为数组,然后我们使用for循环(甚至只是单独手动编写每个复选框更新)。