jquery设置值到下拉列表

时间:2013-04-01 12:34:05

标签: jquery dwr

我有一个下拉列表,其中包含使用dwr调用加载的值列表。我从db获取数据说我有一个名为India的位置。我用

$('select[name="cname"]').find(
'option:contains("'
+ data.loc + '")')
.attr("selected", true);

选择它。 cname是下拉名称。 data.loc是我从db获取的数据。这里的问题是,如果我有两个位置,如印度和印第安纳州,它会迭代并设置两个值,并设置最近的值(印第安纳州)。要设定的实际价值是印度。只有当我选择印第安纳州时才必须选择而不是印度。有没有办法解决这个问题?

5 个答案:

答案 0 :(得分:1)

您可以使用filter()来应用自定义过滤器匹配按选择器返回的元素。

$('select[name="cname"] option').filter(function(){
    return $(this).text() == data.loc; 
}).attr("selected", true);

答案 1 :(得分:0)

为什么不使用val()

$('select[name="cname"]').val(data.loc)

答案 2 :(得分:0)

使用Equals Selecter。请参阅this

答案 3 :(得分:0)

为什么不检查相等性:

if($(this).val() == data.loc){
    $('select[name="cname"] option[value="' + data.loc + '"]').attr("selected", "selected");
}

答案 4 :(得分:0)

你可以通过Val()完成,尝试下面它会帮助你..

$('select[name="cname"]').val(data.loc);
alert($("select[name='cname'] option:selected").text());