Мы использовали распорки 2 jquery plugin. Мы изменили все варианты на jquery select2
.Struts 2 jquery plugin sj: select и jquery.select2
$('select:visible:not').select2()
много sj:selects
выбирает, которые перезагрузить с помощью AJAX, как:
<s:select id="areaCode" name="areaCode" list="areas" listKey="top"
listValue="areaName" headerKey=""
headerValue="Select It"/>
<sj:select id="realodedBranches" name="openerBranchNo"
list="realodedBranches" href="%{reloadbranch}" listKey="branchCode"
listValue="branchName" reloadTopics="reloadBranches"/>
Каждая вещь отлично работает, ожидать, когда событие возвращается только один результирующий ряд, и выберите поле будет иметь только один вариант , В этом состоянии выбор 2 не позволит пользователю выбрать эту опцию!
Если я изменю результат, чтобы вернуть больше одного результата, он отлично работает.
Я вижу эту проблему только при перезагрузке выбранных элементов, я не знаю, почему это происходит.
Я сделал простой тест с JQuery выбрать 2 только и она отлично работает и добавлена опция выбирается:
<select id="mainSelect">
</select>
<button id="clickMe">Click Me </button>
$('select').select2();
$('#clickMe').click(function(){
$('#mainSelect')
.append($("<option></option>")
.attr("value","val1")
.text("text1"));
});
'aria-selected =" true "означает, что он уже выбран. Вам нужно обновить select2 после вставки новых значений. –
@AleksandrM thanks, выберите 2 обновления, когда соответствующая опция выбора флажка изменится, и вы можете увидеть обновленные параметры, но это делает его выбранным по ошибке. PS: Если вы имеете в виду вызов 'trigger ('change')', я сделал это, но мне не повезло :( –
Вызов '.select2()' снова: http://stackoverflow.com/q/19899983/1700321 или что-то например: http://stackoverflow.com/q/16480910/1700321. –