Как использовать JQuery Live (), чтобы добавить атрибут к элементу - PullRequest
0 голосов
/ 15 июля 2011

У меня есть элемент select, который находится в DOM от загрузки страницы.Допустим, он имеет идентификатор my_select следующим образом:

<select name="my_select" id="my_select">
</select>

В какой-то момент, когда пользователь что-то делает, некоторые значения извлекаются через ajax, чтобы заполнить этот элемент select, чтобы он теперь содержал опции.Теперь это будет выглядеть так:

<select name="my_select" id="my_select">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

Так как же мне добавить атрибут к одному из этих параметров?

Я хочу сделать это:

$('#my_select option[value="2"]').attr("selected", "selected");

Но я думаю, что мне нужно использовать live (), потому что опции были добавлены через ajax после создания DOM.

Спасибо

Ответы [ 3 ]

1 голос
/ 15 июля 2011
$("body").delegate('#my_select", 'YOUREVENT', function(){
    $("#my_select option[value='2']").attr("selected", "selected");
});
0 голосов
/ 15 июля 2011

$. Live - это то же самое, что и $ .bind, для привязки событий разница «живая» работает для элементов, которых еще не существует, и будет создаваться с помощью сценариев DOM (т.е. ответ ajax).

правильная форма для установки val = 2 - это $ ('# my_select'). Val (2), когда он уже находится в dom;)

0 голосов
/ 15 июля 2011

Просто установить выбранную опцию можно следующим образом: $('#my_select').val(2); Вы ищете больше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...