将具有给定值的select元素选项设置为选定选项

时间:2014-07-19 19:39:01

标签: jquery html

在这个jsfiddle中 - http://jsfiddle.net/3QrC4/3/ - 我希望选择具有值" Calibri"选定的选项。但最后一个选项成为选定的选项。有没有人看到这个问题?

由于

$(function() {
    $('#fontname option').filter(function() {
        return value="Calibri";
    }).prop('selected', true);
})

3 个答案:

答案 0 :(得分:1)

尝试此代码(or try it on JSFiddle):

$(function() {
    $('#fontname > option').filter(function() {
        return this.value === 'Calibri';
    }).prop('selected', true);
});

在函数内部,未定义value

但是,this引用当前元素,因此我们得到它的value

此外,您需要使用=====来比较JavaScript中的两个值。

答案 1 :(得分:1)

更简单的方法是使用<select>

设置val()的值
 $('#fontname').val("Calibri");/* pass in array if using a "multiple" select */

如果选中selected选项,则会返回预期结果

DEMO

答案 2 :(得分:0)

Working JSFiddle

代码:

$(function() {
    $('#fontname option').filter(function() {
        return this.value=="Calibri";
    }).prop('selected', true);
})

在过滤器函数中,this引用集合中的一个元素,并且每个集合将运行一次函数。函数是否为该元素返回true或false确定它是否应包含在集合中。

注意:a=b是赋值运算符,意思是&#34;使值与b&#39; s相同。 a==b是松散的等式运算符,意思是&#34;是等价于b的值的值?&#34;