0

jQuery

$("input[type=checkbox]:checked").live("click", function (e) {
    var data = $('.variation:checked').map(function (i, n) {
        return {
            'val': $(n).val()
        };
    }).get(); 

    $.post('/variations.php', {
        'data': data
    }, function (data) {
        $('#variations').html(data);
    });

});

HTML 输出

<div id="variations">
Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [val] => 1
                )
       )
)
</div>

PHP

print_r($_POST)

问题:如果未选中复选框,如何从 POST 中删除值?

4

2 回答 2

3

用它发送表单数据$('form#myForm').serialize() 只会send the checkboxes which are checked

//example 1
    $('input#submitButton').click( function() {
        $.post( 'some-url', $('form#myForm').serialize(), function(data) {
             ... do something with response from server
           },
           'json' // I expect a JSON response
        );
    });
//example 2
    $('input#submitButton').click( function() {
        $.ajax({
            url: 'some-url',
            type: 'post',
         //   dataType: 'json',
            data: $('form#myForm').serialize(),
            success: function(data) {
                       ... do something with the data...
                     }
        });
    });

这里

于 2013-01-15T05:42:06.937 回答
2

您可以使用 .disable 方法禁用对象,然后在发布完成后启用它们。或者您可以在单击提交按钮时使用方法 .click 函数,或者如果您不想在 php 中使用此值,您可以 unset($_POST['一个特定的键']) 具有未设置的功能

于 2013-01-15T05:34:21.697 回答