以下代码由JQuery 1.3构成。 如何使用最新版本:1.9.1 单击删除链接时,我还需要它来删除选中的复选框。 我想我应该使用remove()函数。
复选框如下:
<input type="checkbox" name="prog" value="C">
$(document).ready(function()
{
$("#submit_prog").click(
function()
{
var query_string = '';
$("input[@type='checkbox'][@name='prog']").each(
function()
{
if(this.checked)
{
query_string += "&prog[]=" + this.value;
}
});
$.ajax(
{
type: "POST",
url: "post_prog.php",
data: "id=1" + query_string,
success:
function(t)
{
$("div#content").empty().append(t);
},
error:
function()
{
$("div#content").append("An error occured during processing");
}
});
});
});
编辑: 我可以执行此操作以删除删除复选框:
function(event)
{
if(this.checked)
{
query_string += "&prog[]=" + this.value;
$(this).remove();
}
}
答案 0 :(得分:2)
我认为这一行应该是
$("input[@type='checkbox'][@name='prog']")
作为
$("input[type='checkbox'][name='prog']")
更改事件处理程序的签名
也是一个好主意 $("#submit_prog").click(function () {
到
$("#submit_prog").on('click', function () {
答案 1 :(得分:1)
请注意,您只能选择:checked
复选框,以消除对if
声明的需求。
$(document).ready(function() {
$("#submit_prog").on("click", function () {
var query_string = '';
$("input[type='checkbox'][name='prog']:checked").each(function () {
query_string += "&prog[]=" + this.value;
$(this).remove();
});
$.ajax({
type: "POST",
url: "post_prog.php",
data: "id=1" + query_string,
success: function(t) {
$("div#content").empty().append(t);
},
error: function() {
$("div#content").append("An error occured during processing");
}
});
});
});
答案 2 :(得分:0)
1-从选择器中删除“@”
2-使用jQuery.on('click',function(){}而不是jQuery.click()函数
3-使用jQuery promise函数:
$.ajax({
type: "POST",
url: "post_prog.php",
data: "id=1" + query_string
})
.done(function (t) {
$("div#content").empty().append(t);
})
.error(function () {
$("div#content").append("An error occured during processing");
});