jQuery-如何根据通过Ajax返回的结果更改选择值

时间:2014-01-02 08:14:05

标签: jquery ajax

我有一个选择选项

<select id= 'abc'>
    <option val=1>a</option>
    <option val=2>b</option>

</select>

我正在调用Ajax函数并返回结果。如果结果为1,则应自动选择选项a,否则应选择b

这就是我正在做的事情。

if (result == 1){
    $("#abc").val('1')
}
else  $("#abc").val('2')

4 个答案:

答案 0 :(得分:1)

in html

<select id="abc">
    <option val="1">a</option>
    <option val="2">b</option>
</select>

并在javascript中

if (result == 1){
    $("#abc").val(1);
} else {
    $("#abc").val(2);
}

它应该有101%的保证

答案 1 :(得分:0)

使用.prop()正确设置其值。

尝试,

if (result === '1'){
    $("#abc option[value='1']").prop('selected',true);
}
else{
    $("#abc option[value='2']").prop('selected',true);
}

并且您的选择的选项标记应包含属性value以使其有效,但您使用的是val

<select id= 'abc'>
    <option value=1>a</option>
    <option value=2>b</option>
</select>

DEMO

答案 2 :(得分:0)

首先尝试给出表示你的ajax响应的结果变量的警报。我相信它是字符串格式。尝试使用以下代码:

if (result == "1"){//compare result with string
$("#abc").val('a')
}
else  $("#abc").val('b')

<强> Fiddle

答案 3 :(得分:0)

<select id="abc">
    <option val="1">a</option>
    <option val="2">b</option>
</select>

试试这个