2012-07-16 4 views
-1

у меня есть:Выбранные только один значения

<select id="number" name="number"> 
<option value=""></option> 
<option value="1">01</option> 
<option value="2" selected="selected">02</option> 
<option value="3">03</option> 
<option value="4" selected="selected">04</option> 
<option value="5">05</option> 
</select> 

и рядом с JQuery я использую, например:

$('#number').val(1); 

, но это добавить следующее значение - 1, и теперь у меня есть:

<select id="number" name="number"> 
<option value=""></option> 
<option value="1" selected="selected">01</option> 
<option value="2" selected="selected">02</option> 
<option value="3">03</option> 
<option value="4" selected="selected">04</option> 
<option value="5">05</option> 
</select> 

что я должен использовать с:

$('#number').val(1); 

что все остальные значения не могут быть выбраны? Поэтому мне бы хотелось - если я установил новый val, тогда все остальные значения могут быть сброшены. Может быть, использовать каждый для сброса, но как? Я знаю - это должно быть multiselect = false, но это не мой код - я должен использовать этот jQuery.

ответ

2

Вы используете множественный выбор? Поскольку добавленный HTML указывает, что вы этого не сделали. Если вы не работаете с множественным выбором, то ваш HTML с несколькими selected="selected" не имеет никакого смысла.

Если вы являются работой с множественным выбором, то установка .val()должна очистить другие выборы. (Demo). Если в каком-то странном браузере это не так, вы можете попробовать вручную сбросить избранный:

$('#number option').prop('selected', false).val(1); 

Если очистка текущего выбора является не то, что вы хотите, то вы должны рассмотреть вопрос о создании в selected свойства вручную, а не используя .val()

$('#number option[value=1]').prop('selected', true); 

Demo

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