Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Каскадный список + jquery 1.4.2


Автор: bobo123456 3.4.2010, 00:30
Добрый вечер. В яваскрипте не особо силен, поэтому нужна подсказка или указание на раздел документации, по которой сам смогу разобраться.
Проблема:
Используется каскадный список по статье http://www.linkexchanger.su/2009/82.html . Все работает на jquery версии 1.3.2 . Но при использовании новой версии jquery 1.4.2 функции заполнения и очистки перестают работать. Причем если вставить alert в функции, то он не выполняется, и создается впечатление, что функция просто не вызывается. Подскажите как исправить или куда копать?

Если не хочется идти читать статью, то мини версия.
Функции(отдельный файл):
Код

(function($){
  // очищаем select
  $.fn.clearSelect = function() {
      return this.each(function(){
          if(this.tagName=='SELECT') {
              this.options.length = 0;
              $(this).attr('disabled','disabled');
          }
   });
  }
  // заполняем select
  $.fn.fillSelect = function(dataArray) {
      return this.clearSelect().each(function(){
          if(this.tagName=='SELECT') {
              var currentSelect = this;
              $.each(dataArray,function(index,data){
                  var option = new Option(data.text,data.value);
                  if($.support.cssFloat) {
                      currentSelect.add(option,null);
                  } else {
                      currentSelect.add(option);
                  }
              });
          }
      });
  }
})(jQuery);


При смене одного селекта данные получаются через json
Код

var tmpSelect = $('#area'); //- список, который нужно заполнить
$.getJSON('url',{},function(data) { tmpSelect.fillSelect(data).attr('disabled',''); });

Автор: 12345c 9.4.2010, 14:16
Скорее всего, приходит невалидный JSON - в 1.4 устроен приём валидного в тех бр-рах, которые поддерживают встроенный парсинг его. Следовательно, исправьте выдачу JSONc сервера в соответствии с правилами из json.org .

Проверить валидность и прочитать подробнее здесь: http://habrahabr.ru/blogs/jquery/83892/

Автор: IDVsbruck 9.4.2010, 18:53
Вернуться на 1.3.2 smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)