我在php中用ajax,jquery,mysql和checkbox做了一個設計。它是這樣的:單擊複選框時如何添加新內容?
有框複選框。還有另一個空盒子。當您在第一個框中選中複選框時,關於該複選框的信息將顯示在空白框中。我做到了,工作得很好。但是當你點擊另一個複選框時,關於第一個點擊的信息消失,只顯示當前選擇。也就是說,我想在舊的選擇上添加新的選擇。另外,當我取消選中複選框時,如何刪除第二個框中的信息。謝謝。
下面是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
}
謝謝您的答覆。事實上,沒有必要寫這個長碼。答案很簡單。這適用於添加舊的。 – kalaba2003 2012-07-24 08:48:10
@ kalaba2003歡迎您,不用擔心,我已經複製/粘貼它們:)。 – undefined 2012-07-24 08:53:35
感謝您的關注。空()工作,但它清空所有的框。我想刪除只有哪個複選框被點擊的信息。有什麼辦法嗎? – kalaba2003 2012-07-24 08:54:33