2013-10-12 2 views
0

У меня есть меню выпадающего меню, которое генерируется динамически. Его сгенерирован с использованием синтаксиса html select, который затем просто вставляется с использованием метода .after. И затем я использую вызов ajax, чтобы получить элементы селектора и заполнить его вот так.Значение настройки динамически сгенерированного селектора выпадающего списка

$($.parseJSON(msg)).map(function() { 
     return $('<option>').val(this.id).text(this.name); 
    }).appendTo('#item'); 

Теперь После того, как этот код заполнит «пункт» выпадающего меню я должен установить его на какой-то элемент, скажем, пятый. Поэтому я попытался сделать это так.

$('#item').val('5'); 

Я даже попытался конкретно идентифицировать товар. С его в html-таблице, вот так.

$("#itemTable > tfoot > tr.items").find("td:eq(0) [name='item']").val('5'); 

Приведенный выше код отлично работает в других ситуациях, когда у меня есть раскрывающийся список вручную. Поэтому я решил, что обе эти попытки не идентифицируют компонент «элемент». Так что я могу попробовать?

+0

кстати я пытался увидеть значение «пункта» после того, как приведенный выше код и он возвращает 5. Но он не отображается в пользовательском интерфейсе. – altsyset

ответ

0

Документация jquery для map() гласит: «Если вы хотите обработать простой массив или объект, используйте вместо него jQuery.map()».

Ваше выпадающее меню не будет заполнено (проверьте консоль на наличие ошибок), и поэтому установка любого значения в #item не будет работать.

Попробуйте это:

var options = $.map($.parseJSON(msg), function (n, i) { 
    return $('<option>').val(n.id).text(n.name); 
}); 
$("#item").append(options); 

С помощью этого кода просадка получит заселена, а затем $("#item").val("5") будет работать.

JSFiddle: http://jsfiddle.net/6Us9N/

+0

Фактически заполнение моих выпадающих произведений прекрасно. То, что я борюсь с установлением конкретной ценности после населения. Но я с удовольствием попробую ваше предложение. – altsyset

+0

проверить jsfiddle http://jsfiddle.net/6Us9N/ –

+0

Несомненно, человек! когда выпадающее меню создано так, как будто оно работает. Я даже использовал его неоднократно. Но мое падение создано на лету. Я попытаюсь создать jsfiddle ... hold on – altsyset

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