Jquery: опция выбора имеет «другое» значение в скрипте jquery и фактический HTML - PullRequest
0 голосов
/ 01 сентября 2011

Я пытаюсь обновить / сохранить динамически созданные объекты HTML, используя jquery.Но в одном конкретном сценарии значение, напечатанное в консоли, и фактический HTML имеют разные значения.

Вот код Jquery.

var span = $(this).children('span').first();    
var choice = span.children('label').eq(1).next('select').val();
console.log(choice);
console.log($(this).html());

Вывод (усеченный) в консоли выглядит следующим образом.

Voicemail
....
<label for="id_00-choices">Choices</label> : <select name="00-choices" id="id_00-choices"> <option value="Voicemail">Voicemail</option> <option value="Phone" selected="selected">Phone</option> <option value="Conference">Conference</option> </select> 
....

Как очевидно, в html "Телефон"это выбранная опция, но Jquery (правильно) говорит мне, что «Голосовая почта» - это выбранная опция, которую я выбрал вручную.

Я использую последнюю версию jquery и использую Jquery Dialog для своего приложения.Почему я получаю разные значения, и, во-вторых, могу ли я заставить html изменить значение выбранного параметра?

1 Ответ

0 голосов
/ 01 сентября 2011

$("select").val() возвращает текущее выбранное значение (вы сказали, что выбрали опцию Voicemail вручную).

Если вы хотите получить опцию с selected атрибутом использования:

var choice = span.children('label').eq(1).next('select').find("option[selected]").val();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...