通过jQuery传递复选框组值

时间:2012-05-11 14:07:56

标签: jquery checkbox

我正处于其中一个让我感到困惑的“时刻”。

我有一个带有复选框组的表单。有12个复选框。它们的设置如下:

<input type="checkbox" id="search_shape1" name="search_shape[]" value="BR" /> 
<input type="checkbox" id="search_shape2" name="search_shape[]" value="AS" /> 
等等......

现在,我不是通过提交按钮提交它们,而是使用jQuery传递所有表单变量(此表单还包含5个jQuery.ui滑块。我使用的代码如下:

    $(function() {
    $("#epds").bind('submit',function() {
        var search_shape = $('#search_shape').val() || [];
        $.post('catalog/view/theme/emmaparker/template/information/db_query.php',{search_shape:search_shape}, function(data){
            $("#search_results").html(data);
        });
        return false;

问题是,在我的处理页面(db_query.php)上,它永远不会得到复选框的结果。它确实获得了所有滑块输入(输入类型=文本框..我从上面的代码中提取了所有这些)。我已经尝试了很多东西,我只是感到困惑。我曾尝试将“search_shape”单独作为名称,“search_shape []”作为名称,一切。它只是不会传递一个值。

在db_query页面上,我尝试以多种方式输出值。我尝试过print_r,简单回显,将值设置为显式数组,然后将该变量设置为post结果等等。

我不知所措。任何人都可以把我抬起来让我知道我做错了什么?我确定它很简单,就像我没有正确地传递jQuery中的值或其他东西。

谢谢, 德里克

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样?没有测试过,但它应该像这样工作。

var group = new array();
$.each($("input[name='search_shape[]']:checked"), function() {
  group.push($(this).val());
});