0

我正在使用这种表格,名称和 ID 来自 DB,就像这样

<input type="checkbox" id="<?php echo $row16['username']; ?>" value="<?php echo $row16['username']; ?>">

我正在使用此脚本来验证和发送 ajax 值,如果有人有任何想法接收帖子值,欢迎任何其他替代方案。

$('#tabs-2').on('click', 'input.submitadd', function(e){
    $('#form11').submit(function() {
        amIChecked = false;
        $('input[type="checkbox"]').each(function() {
            if (this.checked) {
                amIChecked = true;
            }
        });
        if (amIChecked) {
            $.ajax({
            type:"POST",
            url:"action1.php",
            data: $('#form11').serialize(), 
            cache:false,
            success: function(response){
            $('.result8').html(response);

            }
     });
     return false;
        }
        else {
            alert('please check one checkbox!');
        }
        return false;
    });
});
4

2 回答 2

0

第一件事。这一行:

if (amIChecked) {

可能只是:

if ($('input[type="checkbox"]:checked').length > 0) {

不需要变量或使用它上面的任何逻辑。节省几个 CPU 滴答声!

您是否在问如何使用从服务器返回的数据?您只需使用代码中已有的响应对象来检查 JSON,即 response.SomePropertyYouJSONd。

如果你有一个数组,你可以这样做:

$.each(response, function(i, item) {
    alert(response[i].PropertyName);
});​

在您的成功功能中。

PS 哦,如果您要返回 JSON,您的 ajax 参数中可能需要以下内容:

dataType: 'json',
于 2013-04-04T17:39:17.020 回答
0

我会重写这个:

$('#tabs-2').on('click', 'input.submitadd', function(e) {
    e.preventDefault();

    if ($('input[type="checkbox"]:checked').length > 0) {
        $.ajax({
            type:"POST",
            url:"action1.php",
            data: $('#form11').serialize(), 
            cache:false,
            success: function(response){
                $('.result8').html(response);
            }
        });          
    }
    else {
               alert('please check one checkbox!');
    }
});
于 2013-04-04T17:40:40.783 回答