【发布时间】:2011-08-19 18:31:14
【问题描述】:
我参考了这篇文章:
Post array of multiple checkbox values
还有这个 jQuery 论坛帖子:
http://forum.jquery.com/topic/checkbox-names-aggregate-as-array-in-a-hidden-input-value
我正在尝试使用 jQuery 在隐藏的输入字段中收集复选框值的数组(或用逗号连接的字符串,等等)。这是我正在使用的脚本代码:
<script type="text/javascript">
$("#advancedSearchForm").submit(function() {
var form = this;
$(form).find("input[name=specialty]").val(function() {
return $("input:checkbox",form).map(function() {
return $(this).attr("name");
}).get().join();
});
});
</script>
相关 HTML 的 sn-p:
<form id="advancedSearchForm" name="advancedSearchForm" method="post" action="<?php echo site_url('/magcm/advancedSearch#results'); ?>">
<input type="checkbox" name="FCM" id="FCM" class="chk" value="FCM" <?php echo set_checkbox('FCM', 'FCM'); ?>/>
<input type="hidden" name="specialty" id="specialty" value="" />
<input class="button" name="submit3" id="submit3" type="submit" value="Search" />
我尝试在 jQuery 中将“submit”更改为“submit3”,但这会中断(显然)。当我 print_r($_POST) 时,复选框 POST 正确,但压缩的隐藏变量没有。 (它发布,但一个空白值。)复选框使用 CI 的被黑 set_value() 函数正确保留(Derek 需要在主干中实现它......但这是另一回事)
我确定我在做一些错误且容易指出的事情。在过去的 2 个小时里,我一直在用头撞墙,尝试各种功能并更改大量内容并在 Chrome 开发工具中分析它(没有显示任何错误)。
感谢您的帮助。 :)
【问题讨论】:
-
"advancedSearchForm" 应为 "#advancedSearchForm" 以正确选择 ID 元素。
-
哎呀,这是代码中的错字。固定的。视图中其实是这样的,还是坏掉了。
标签: php jquery html arrays codeigniter