Возникли проблемы с диалоговым окном jQuery UI и использованы значения флажков внутри него.То, что у меня есть, это форма с несколькими первыми выборками и ссылкой, которая говорит «больше».Когда пользователь нажимает эту кнопку, он открывает диалоговое окно и может выбирать из полного списка параметров.
С первой партией флажков (не в диалоге) я устанавливаю их значение в скрытом поле при нажатии, которое затем использую при отправке формы:
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, однако, если я закрою его и нажму на один вне диалогового окна, он не только заполняется #cuisineString
с последним щелчком мыши, но все те, которые я проверил в диалоговом окне.
Я уверен, что мне нужно что-то добавить, но мы рвали на себе то, что есть!
Наконец, ядолжен начать новый вопрос, но если у кого-то есть идея, я тоже хочу сделать, если кто-то скажет, что нажимает «британец» на циферблате.og или на странице, тогда он должен установить флажок как в диалоговом окне, так и в оригинале, и добавить значение к #cuisineString
, когда я удваиваю несколько первых опций.