无法使用jQuery更改选择值

时间:2012-02-21 15:37:29

标签: jquery html dom

我有一个非常简单的选择,如下所示:

<select name='typedoc' id ='typedoc' size=1>
    <option>1</option>
    <option>2</option>
</select>

有两个值,12。显示没问题。我不能用jQuery改变这个值。我试过了:

$('[name=typedoc]').val('2');

$('#typedoc').val('2');

但是ddl仍然是第一选择。执行之前的行,所以我确定调用了该函数。可能有什么不对?

6 个答案:

答案 0 :(得分:6)

由于您的问题不是很清楚,我将假设您想要一个以下3个解决方案,

//To change the value of the option
$('[name=typedoc] option[value=2]').val('3'); 

//To select option with value = 3
$('[name=typedoc] option[value=3]').prop('selected',true);

//To Change the text of the option with value = 3
$('[name=typedoc] option[value=3]').text('Third');

答案 1 :(得分:0)

我有这个问题通过使用它解决了它:

$('#typedoc option[value="2"]').prop('selected',true);

显然,您可以通过编辑选择器字符串

动态替换该值

答案 2 :(得分:0)

对我来说很好,检查你的标记是否存在语法错误

<强> HTML:

<select name='typedoc' id ='typedoc' size=1>
    <option value="1" >1</option> 
    <option value="2" >2</option>     
</select>

<强> JS:

$(function() {
    $('[name=typedoc]').val('2');
});

DEMO

答案 3 :(得分:0)

这是有效的

<select name='typedoc' id ='typedoc' size=1>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
</select>

jquery是

jQuery(document).ready(function ($) {
    $('[name=typedoc]').val('4');
});

答案 4 :(得分:0)

而不是.val(),请使用$('#typedoc option[value="2"]').attr('selected', true)

答案 5 :(得分:0)

适合我......检查你的标记或提供更多细节......

http://jsfiddle.net/uTkyE/1/