首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >attr('selected','selected')在jquery中无效

attr('selected','selected')在jquery中无效
EN

Stack Overflow用户
提问于 2011-12-01 18:15:46
回答 7查看 33.8K关注 0票数 2
代码语言:javascript
复制
$('#sellist option').each(function(index) {
    var str ='4/5/8';
    var substr = str.split('/');
    if (substr[0] == $(this).attr('value')) {
        $(this).attr('selected','selected');
        alert('hi'); ///For check
    }
});

一切正常,alert被解雇了。我在控制台中没有任何错误。但是没有选择我想要的#sellist option。我的问题是什么。谢谢。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-12-01 18:25:56

您的代码运行良好。它只是选择数组的第一个元素4,因为您没有遍历数组,您只需要使用substr[0]来获取第一个值。

要查看它是否正常工作,我将初始值更改为7

代码语言:javascript
复制
$('#sellist option').each(function(index) {
    var str = "7/5/8";
    var substr = str.split('/');

    if (substr[0] == $(this).val()) {
        $(this).attr('selected', 'selected');
        alert($(this).val()); ///For check
    }
});

OP澄清了他希望在数组中循环

要遍历数组并选择多个select中的每个值,请使用以下命令:

代码语言:javascript
复制
$('#sellist option').each(function(index) {
    var str = "4/5/8";
    var substr = str.split('/');

    for (var i = 0; i < substr.length; i++) {
        if (substr[i] == $(this).val()) {
            $(this).attr('selected', 'selected');
        }
    }
});
票数 3
EN

Stack Overflow用户

发布于 2014-03-09 10:13:18

用prop替换attr。

代码语言:javascript
复制
$('#element').prop('selected', true);
票数 18
EN

Stack Overflow用户

发布于 2011-12-01 18:25:07

代码语言:javascript
复制
$(this).attr('selected','selected');

应替换为:

代码语言:javascript
复制
$(this).attr('selected', true);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8339660

复制
相关文章

相似问题

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