когда
$("select").select2({});
находится в коде, javascript не разблокирует следующее выпадающее меню. Проблема существует в Firefox. При удалении он работает как шарм.
Согласно документации, вы это сделаете.
$('#dropdown2').select2('enable', false);
а также
$('#dropdown2').select2('enable', true);
Вы можете упростить его:
$("#dropdown1").change(function () {
$('#dropdown2').find('option').remove().end();
var val = obj[$(this).val()];
if (val) {
$('#dropdown2').append('<option></option>' + obj[$(this).val()]);
}
$('#dropdown2').select2('enable', !val);
});
Вы не можете просто изменять атрибуты. Вы также должны перезапустить Select2 для обновления своих классов элементов.
http://jsfiddle.net/isherwood/DcunN/9/
$("#dropdown1").change(function () {
$('#dropdown2').find('option').remove().end();
if (obj[$(this).val()] !== undefined) {
$('#dropdown2').removeAttr('disabled').select2();
...
select2
не определен, как онselect2
его работать в его код до.