Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.01.2011, 09:22
Новичок на форуме
Отправить личное сообщение для BASSON_XVI Посмотреть профиль Найти все сообщения от BASSON_XVI
 
Регистрация: 04.01.2011
Сообщений: 2

Подгрузка select и работа с ними после!
Здравствуйте! Завалился на самом простом! Перед подгрузкой данных удаляю все элементы в select
$('.InputNoteOption select[name=action] option').remove();

Далее подгружаю в select новые данные так:
$.getJSON('note/get_json_action/pid/'+note.dataID.note,function(data){
            $.each(data,function(i,item){
                $('.InputNoteOption select[name=action]').append($('<option></option>').attr('value', item.id).text(item.nameRus));
            })
        })

А далее пытаюсь получить value с того option что сейчас выбран в select но в итоге получаю undefined потому как он вроде бы и не выделен... И витоге выходит что я не могу получить загруженные данные в этот select
alert($('.InputNoteOption select[name=action] option:first').val()); // undefined
alert($('.InputNoteOption select[name=action] option:selected').val()); // undefined

Что я делаю не так?
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2011, 18:27
Новичок на форуме
Отправить личное сообщение для chosen Посмотреть профиль Найти все сообщения от chosen
 
Регистрация: 05.11.2009
Сообщений: 9

теоритически это должно работать
могу предложить попробывать задавать value не с помощью .attr а с помощью .val
либо создавать элемент option уже с атрибутом value (и с текстом за одно)
function(data) {
    $(".InputNoteOption select[name='action']").empty().append(function(index, html) {
        var htmlNew = "";
        $.each(data, function(index, value) {
            htmlNew += '<option value="'+value.id+'">'+value.nameRus+'</option>';
        });
        return htmlNew;
    });
}
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2011, 20:44
Новичок на форуме
Отправить личное сообщение для BASSON_XVI Посмотреть профиль Найти все сообщения от BASSON_XVI
 
Регистрация: 04.01.2011
Сообщений: 2

Насколько я понял методы такие как load, getJSON, ajax выполняются асинхронно.. У них есть callback функции вот именно в этих функциях можно спокойно обращаться к полученным данным.. А иначе мы действительно обращаемся к тем данным которые еще не получили...

Ну и еще один вопрос на будущее.. Как мне составить правильно селектор что бы к option можно было обращаться зная содержимое его value???

Последний раз редактировалось BASSON_XVI, 06.01.2011 в 20:47.
Ответить с цитированием
  #4 (permalink)  
Старый 07.01.2011, 11:28
Новичок на форуме
Отправить личное сообщение для chosen Посмотреть профиль Найти все сообщения от chosen
 
Регистрация: 05.11.2009
Сообщений: 9

я и приводил пример callback`а
а запросы можно выполнять синхронно (за это отвечает опция async которая просто поумолчанию равна true, тоесть поумолчанию асинхронно)

поповоду селектора если если речь идет про атрибут value то так:
$("select option[value='123']")
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с выпадающим списком (SELECT) Bogus Общие вопросы Javascript 14 11.03.2013 08:39
Работа скрипта после ajax обновления Nonamer jQuery 1 11.02.2011 15:19
подгрузка файлов после заполнения формы поиска(jquery,ajax) mamant AJAX и COMET 5 08.06.2010 15:21
Работа Select в firefox Grid Firefox/Mozilla 0 05.02.2010 17:42
Вставка текста в textarea после выбора select option modelisto Общие вопросы Javascript 2 14.10.2009 19:27