在jQuery UI對話框中使用某些問題並在其中使用複選框值。我所擁有的是一個表格,其中包含前幾個選項以及一個表示「更多」的鏈接。當用戶點擊它時,他們打開一個對話框,並可以從完整的選項列表中進行選擇。jQuery對話框,複選框和模態外的設置值
隨着第一批覆選框(而不是在對話框),點擊時,我然後提交表單使用我設置的值設置爲隱藏字段:
HTML
<div class="col cuisines cuisineSelect">
<ul>
<li><input name="cuisine" value="165" type="checkbox" id="c-165"><label for="c-165">British</label></li>
<li><input name="cuisine" value="911" type="checkbox" id="c-911"><label for="c-911">Chinese</label></li>
<li><input name="cuisine" value="1047" type="checkbox" id="c-1047"><label for="c-1047">European</label></li>
</ul>
</div>
Javascript功能來添加到隱藏字段
$(function() {
$('.cuisineSelect input').click(updateHiddenCuisineValues);
updateHiddenCuisineValues();
});
function updateHiddenCuisineValues() {
var allVals = [];
$('.cuisineSelect :checked').each(function() {
allVals.push($(this).val());
});
$('#cuisineString').val(allVals)
}
這工作得很好,我可以在我的#cuisineString
中看到它正在填充。
但是我的對話框,我通過產卵:
對話框的Javascript
$("#moreCuisines").click(function(){
$("#cuisineExtra").dialog({
width: '200',
dialogClass: 'cuisineSelect',
buttons: {
"Refresh Search": function() {(
$(this).dialog("close")
);}
},
});
return false;
})
對話框DIV HTML
<div id="cuisineExtra" class="hiddenSearchPanel" title="Available Cuisines">
<div class="col">
<ul>
<li><input name="cuisine" value="165" type="checkbox" id="ch-165"><label for="c-165">British</label></li>
<li><input name="cuisine" value="911" type="checkbox" id="ch-911"><label for="c-911">Chinese</label></li>
<li><input name="cuisine" value="1047" type="checkbox" id="ch-1047"><label for="c-1047">European</label></li>
<li><input name="cuisine" value="166" type="checkbox" id="ch-166"><label for="c-166">French</label></li>
<li><input name="cuisine" value="167" type="checkbox" id="ch-167"><label for="c-167">Indian</label></li>
<li><input name="cuisine" value="1027" type="checkbox" id="ch-1027"><label for="c-1027">Indonesian</label></li>
</ul>
</div>
</div>
我看不出做如果我在這裏單擊一個複選框,它不會在DIV中填充,但是如果我關閉它並單擊o在對話框外部,它不僅填充了#cuisineString
的最新點擊,而且還包含我在對話框中選中的所有對象。
我確定我需要添加一些東西,但一直撕裂我們的頭髮到它是什麼!
最後,我應該開始一個新的問題,但如果任何人有一個想法,我也想做的是,如果有人說在對話框或頁面上點擊「英國」,那麼它應該檢查兩個框對話框和原始對話框,並將該值添加到#cuisineString
,因爲我將前幾個選項加倍。
在jQuery代碼,使對話框它使用'dialogClass:'cuisineSelect''似乎將它添加到它... – 2010-05-17 19:35:28
完美的作品,非常感謝你 – 2010-05-18 09:04:26