我已經提到了這個帖子:收集複選框值,並張貼在提交
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