我已经提到了这个帖子:收集复选框值,并张贴在提交
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的一个片段:
<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的,它打破(显然是“submit3” )。当我print_r($ _ POST)时,复选框POST正确,但浓缩隐藏变量不。 (它发布,但一个空值)。复选框使用CI的黑客入侵的set_value()函数(Derek需要在主干中实现此功能,但这是另一个故事)正确保存。
我确定我是做一些错误的,容易指出的事情。在过去的2个小时里,我只是一头撞墙,尝试各种功能,改变了大量的事情,并在Chrome开发工具中进行分析(不会显示任何错误)。
帮助表示赞赏。 :)
“advancedSearchForm”应该是“#advancedSearchForm”以正确选择一个ID'd元素。 – 2011-05-05 22:25:29
哎呀,这是代码中的错字。固定。实际上在这个视图中就是这样,它仍然是坏的。 – 2011-05-05 22:27:09