2010-03-11 1 views
3

Следующий код не будет работать для меня в IE6, но неудивительно, что он работает в любом другом браузере:.Не удалось установить выбранное свойство JQuery. JQuery Выпадающего

$ («# myDropdown») вал («значение»);

Я понятия не имею, почему это происходит.

Любые мысли?

+0

Позволяет увидеть разметку выпадающего списка. У каждого параметра есть атрибут 'value'? – JPot

ответ

3

Вы, вероятно, нужно сделать что-то вроде

$("#myDropdown > option[selected]").removeAttr("selected"); 
$("#myDropdown > option[value='value']").attr("selected","selected"); 

только предположение.

2

В итоге мне пришлось установить внутреннийHTML выбора.

я придумал следующий метод расширения, который имеет специальную процедуру для IE6:

$.fn.setDropDownValue = function(valueToSet) { 
    if ((!this[0].options) || (this[0].options.length == 0)) 
     return; 

    if ($.browser.msie && $.browser.version == 6.0) { 
     var open = '<OPTION value=\''; 
     var html = ''; 
     for (var i = 0; i < this[0].options.length; i++) { 
      var opt = $(this[0].options[i]); 
      html += open + $(opt).val() + '\''; 
      if (opt.val() == valueToSet) { 
       html += ' selected'; 
      } 
      html += '>' + opt.html() + '</OPTION>'; 
     } 
     $(this).html(html); 
    } else { 
     this.val(valueToSet); 
    } 
}; 
+0

, добавив к этому в IE6 после установки значения, которое выпадающее меню сжимается. поэтому мы можем добавить $ (this) .css ('width', 'auto'); Эта проблема возникает, когда параметры раскрывающегося списка создаются динамически. – dhinesh

+0

Лучшее решение, которое я нашел до сих пор, спасибо! – TrymBeast

1

Это известная IE 6 ошибка. Обходной сделать что-то вроде:

options[1].setAttribute('selected', true) 

или что-то, что задерживает его, как:

setTimeout("$('#myDropdown').val('" + value + "')",1); 

или просто обернуть его в Try/поймать блока и игнорировать исключение - значение по-прежнему получает значение в IE6.

+0

всего 2 цента: http://protopl.us/2010/04/14/jquery-ie6-could-not-set-the-selected-property-unspecified-error/ – Aito

Смежные вопросы