POST复选框

时间:2013-04-24 17:25:41

标签: php javascript jquery sql

以下代码由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();
        }
}

3 个答案:

答案 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");
});