Я пытаюсь использовать select2 с jQuery 1.9.1 и select2 3.3.0, чтобы реализовать то, что я считаю довольно простым вариантом использования... Я хочу заполнить элемент управления select2 параметрами, основанными на состоянии другого элемента управления select2.
I have the following:
<div>
<select id="master" name="master">
<option value=1>a</option>
<option value=2>b</option>
</select>
</div>
<div>
<input type="hidden" id="detail" name="detail" data-placeholder="No options until master chosen">
</select>
<script src="jquery-1.9.1.js"></script>
<script src="select2-3.3.0/select2.js"></script>
<script>
var a = [];
var b = [];
for (var i = 0; i < 20; i++) {
a.push({id: i, text: "a" + i});
b.push({id: i, text: "b"+ i});
}
$(document).ready( function () {
$("#master").select2().on('change', function() {
console.log("master changed: " + $("#master").val())
var right_one = a;
if($("#master").val() == 2) right_one = b;
$("#detail").removeClass('select2-offscreen').select2({data:right_one})
console.log("right_one: " + right_one)
})
})
Изменить: Этот ответ показывает, почему элемент управления исчезал. У меня остались вопросы относительно этой реализации:
- Как я могу сделать так, чтобы #master не имел начальный выбор?
- Как изменить текст заполнителя в #detail, чтобы он реагировал на выбор мастера?