【问题标题】:Passing checkbox group values via jQuery通过 jQuery 传递复选框组值
【发布时间】:2012-05-11 14:07:55
【问题描述】:

我正在经历一个让我感到困惑的“时刻”。

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

我很茫然。谁能打我的头,让我知道我做错了什么?我确定这很简单,就像我没有正确传递 jQuery 中的值之类的。

谢谢, 德里克

【问题讨论】:

标签: jquery checkbox


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-04-06
    • 1970-01-01
    • 2012-10-28
    • 2016-12-31
    • 2015-07-04
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多