我正处于其中一个让我感到困惑的“时刻”。
我有一个带有复选框组的表单。有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中的值或其他东西。
谢谢, 德里克
答案 0 :(得分:0)
这样的事情怎么样?没有测试过,但它应该像这样工作。
var group = new array();
$.each($("input[name='search_shape[]']:checked"), function() {
group.push($(this).val());
});