首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery:按值选择一个选择选项

jquery:按值选择一个选择选项
EN

Stack Overflow用户
提问于 2013-04-25 20:00:02
回答 2查看 127关注 0票数 0

我有以下(=>) 小提琴。它所做的是按值搜索selected,然后将found选项的属性设置为selected。很简单。此脚本(在下面复制)在IE9和FireFox 17中运行良好,但在Chrome或Safari中不起作用。这两个浏览器未能将属性设置为选定的属性。

我是不是漏掉了什么?

编辑:看起来我需要使用.prop()而不是.attr().

选择HTML:

代码语言:javascript
复制
<select id="listmcu">
    <option value="1002">PA</option>
    <option value="1003">CA</option>
    <option value="1004">OR</option>
    <option value="1005">FL</option>
    <option value="1006">TX</option>
</select>

JQuery;

代码语言:javascript
复制
$(function () {
    var mcu = "1005";
     alert ('Begin: mcu val = ' + mcu);
    //$("#listmcu").find("option:contains('" + mcu + "')").each(function () {
    $("#listmcu").find("option[value='" + mcu + "']").each(function () {
        alert ('In contains: this val = ' + $(this).val());
        if ($(this).val() == mcu) {
            //$(this).attr("selected", "selected");
            $(this).prop("selected", "selected"); // <== appears to work
        }
    });
});
EN

回答 2

Stack Overflow用户

发布于 2013-04-25 20:05:18

您需要使用它来解决您的问题:

代码语言:javascript
复制
$(this).prop("selected", true);

小提琴

票数 4
EN

Stack Overflow用户

发布于 2013-04-25 20:08:35

你对自己太苛刻了。只需在选中框上使用.val,让jQuery来完成繁重的工作:

代码语言:javascript
复制
$(function () {
    var mcu = "1005";
     alert ('Begin: mcu val = ' + mcu);
    $("#listmcu").val(mcu);
});

小提琴

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16223683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档