我在 php 中使用 ajax、jquery、mysql 和复选框进行了设计。就是这样:
有一个带有复选框的框。还有一个空盒子。当您选中第一个框中的复选框时,有关该复选框的信息将显示在空框中。我做到了并且工作良好。但是当您单击另一个复选框时,有关您第一次单击的信息消失了,并且仅显示当前选择。也就是说,我想在旧的选择上添加新的选择。另外,当我取消选中复选框时,如何删除第二个框中的信息。谢谢你。
这是HTML代码:
<div id="first_box">
<label class='checkbox'>
<input type='checkbox' id=1>
First checkbox
</label>
<label class='checkbox'>
<input type='checkbox' id=2>
Second checkbox
</label>
<label class='checkbox'>
<input type='checkbox' id=3>
Third checkbox
</label>
</div>
<div id="second_box"> </div>
这是jQuery代码:
$(document).ready(function() {
$("#first_box input:checkbox").change(function() {
if($(this).is(":checked")) {
$.post("/here/is/url", { strID:$(this).attr("id"), strState:"1" },
function(data) {
$("#second_box").html(data);
});
} else {
$.ajax({
url: 'here/is/url/',
type: 'POST',
data: { strID:$(this).attr("id"), strState:"0" }
});
}
});
});
这是ajax请求的php代码:
$strID = $_POST['strID'];
$strState = $_POST['strState'];
if ($strState) { //if checkbox is clicked
//I fetch data about checkbox which is clicked
$infos = $this->info_model->get_info_from_checkbox_id($strID);
foreach ($infos as $info) {
echo "<label class='checkbox'>
<input type='checkbox'>".$info->information .
"</label>";
}
} else { // if it is unchecked
// I do not know how to delete
}