0

什么时候

$("select").select2({});

在代码中,javascript 不会解锁下一个下拉菜单。该问题存在于 Firefox 中。移除后,它就像一个魅力。

http://jsfiddle.net/DcunN/7/

4

2 回答 2

3

根据文档,这就是您的操作方式。

 $('#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);

 });

小提琴

于 2013-09-26T15:29:28.427 回答
1

你不能只是改变属性。您还必须重新初始化 Select2 以更新其元素类。

http://jsfiddle.net/isherwood/DcunN/9/

$("#dropdown1").change(function () {
         $('#dropdown2').find('option').remove().end();

         if (obj[$(this).val()] !== undefined) {
             $('#dropdown2').removeAttr('disabled').select2();

             ...
于 2013-09-26T15:25:28.107 回答