0

我有一个让我感到困惑的“时刻”。

我有一个带有复选框组的表单。有 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、简单的回显、将值设置为显式数组,然后将该变量设置为发布结果等。

我很茫然。谁能打我的头,让我知道我做错了什么?我确定这很简单,比如我没有正确传递 jQuery 中的值或其他东西。

谢谢,德里克

4

1 回答 1

0

这样的事情怎么样?尚未对其进行测试,但它应该像这样工作。

var group = new array();
$.each($("input[name='search_shape[]']:checked"), function() {
  group.push($(this).val());
});
于 2012-05-12T13:55:35.660 回答