0

经过一番折腾后,我得到了这段代码,以向我显示一个警报,其中包含检查的正确 id 数组:

alert($("input[name=our_types]:checked").map(function () {return this.value;}).get().join(","));

我需要能够将它传递给这里的 post action 函数:

    $.post(action, {
        form_name: $('#form_name').val(),
        site_id: $('#site_id').val()


    },

我试过做:

   var our_types = $("input[name=our_types]:checked").map(function () {return this.value;}).get().join(",");

然后像这样传递它:

    $.post(action, {
        form_name: $('#form_name').val(),
        site_id: $('#site_id').val(),
                    our_types: $('#our_types').val()

    },

但无济于事。我已经坚持了几个小时,也许新的眼睛会有所帮助。

这是另一个示例的工作代码:

jQuery(document).ready(function(){

    $('#contactform').submit(function(){

        var action = $(this).attr('action');

        $("#message").slideUp(750,function() {
        $('#message').hide();

        $('#submit')
            .after('<img src="assets/ajax-loader.gif" class="loader" />')
            .attr('disabled','disabled');

        $.post(action, {
            USERNAME: $('#USERNAME').val(),
            PASSWORD: $('#PASSWORD').val()
        },
            function(data){
                document.getElementById('message').innerHTML = data;
                $('#message').slideDown('slow');
                $('#contactform img.loader').fadeOut('slow',function(){$(this).remove()});
                $('#submit').removeAttr('disabled');
                if(data.match('success') != null) $('#contactform').slideUp('slow');

            }
        );

        });

        return false;

    });

});
4

1 回答 1

0

你很亲密。

当你

alert($("input[name=our_types]:checked").map(function () {return this.value;}).get().join(","));

看到内容就是你想要的。

您需要做的就是将其分配给一个变量:

var our_types_vals = $("input[name=our_types]:checked").map(function () {return this.value;}).get().join(",");

并将该变量传递给 post() 函数,如下所示:

$.post(action, {
    form_name: $('#form_name').val(),
    site_id: $('#site_id').val(),
    our_types: our_types_vals
  },  // ... other codes
);

您还可以绕过将其分配给变量并直接在属性-值对对象内部传递操作,如下所示:

$.post(action, {
    form_name: $('#form_name').val(),
    site_id: $('#site_id').val(),
    our_types: $("input[name=our_types]:checked").map(function () {return this.value;}).get().join(",")
  },  // ... other codes
);

请注意删除操作上的结束分号,以防止对象字面量内的语法错误。

于 2012-05-11T01:13:10.170 回答