2015-03-14 3 views
0

У меня есть выберите тег (#dd01) и хотите, чтобы изменить его значение, нажав на кнопкуКак изменить выбранное значение выбора тега

<select id="dd01"> 
<option value="01">sky</option> 
<option value="02">sea</option> 
<option value="03">earth</option> 
<option value="04">win</option> 
</select> 

js.click

var dd = $("#dd01").children().eq(index01).html(); 
alert (dd); // works fine - for example `sky` 
$("#dd01").val(dd); // doesn't work - select tag is empty 
+2

Можете ли вы предоставить html-код? – hamed

+1

Возможно, это связано с тем, что HTML-элемент 'option' не совпадает с« значением »элемента, который вы пытаетесь выбрать. –

+1

Код работает нормально, если у вас нет каких-либо атрибутов 'value', или значение такое же, как текст. http://jsfiddle.net/q6nyq8eb/ – Guffa

ответ

2

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

var dd = $("#dd01").children().eq(index01).val(); 
alert (dd); // works fine - for example `sky` 
$("#dd01").val(dd); 

$("#dd01") должен иметь значение, а не текст. Поэтому я использовал eq(index01).val() вместо eq(index01).text().

Here is a working fiddle

1

Вы находитесь получение текста из опции и попытка использовать его в качестве значения.

Опция sky имеет значение 01, поэтому вызов .val('01') бы выбрать этот пункт, но не вызывая .val('sky').

Вы можете использовать метод attr, чтобы получить значение параметра:

var dd = $("#dd01").children().eq(index01).attr('value'); 
Смежные вопросы