首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在任何位置使用jquery添加选项时如何添加“选定”属性

在任何位置使用jquery添加选项时如何添加“选定”属性
EN

Stack Overflow用户
提问于 2018-04-24 23:33:45
回答 3查看 91关注 0票数 0

我想在第三个位置添加“选定的”属性。您能解释一下我是否可以在jquery的append()中添加选定的属性。

代码语言:javascript
运行
复制
for (i = 0; i < 10; i++)
{ 
     if(i==3)
     {
       $('#mySelect').append($('<option>',
       {
          value: i,
          text :i
      }));
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-25 00:11:45

编辑:根据Rory McCrossan的评论(添加了append()和jQuery对象)更正答案,并为误导性道歉。

问题在于if语句,您的代码只会追加一个<option>,即如果i等于3。

jQuery API文档

根据文档,你有几种选择.

1)将append()与jQuery对象结合使用

代码语言:javascript
运行
复制
for (var i = 0; i < 10; i++) {
  $('#mySelect').append($('<option>', {
    value: i,
    text: i,
    selected: i == 3 ? true : false
  }))
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="" id="mySelect"></select>

2)使用appendTo()

代码语言:javascript
运行
复制
for (var i = 0; i < 10; i++) {
  $('<option>', {
    value: i,
    text: i,
    selected: i == 3 ? true : false
  }).appendTo($('#mySelect'))
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="" id="mySelect"></select>

3)将append()与方法结合使用

代码语言:javascript
运行
复制
for (var i = 0; i < 10; i++) {
  $('#mySelect').append(CreateOption(i))
}

function CreateOption(i) {
  return $('<option>', {
    value: i,
    text: i,
    selected: i == 3 ? true : false
  })
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="" id="mySelect"></select>

4)在文本中使用append()

代码语言:javascript
运行
复制
for (var i = 0; i < 10; i++) {
  var selected = i==3 ?  ' selected=true' : ''
  var option = '<option value='+ i + selected + '>' + i + '</option>'
  $('#mySelect').append(option)
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="" id="mySelect"></select>

票数 1
EN

Stack Overflow用户

发布于 2018-04-24 23:59:02

怎么样

代码语言:javascript
运行
复制
$('#mySelect :nth-child(3)').attr('selected', 'selected');
票数 1
EN

Stack Overflow用户

发布于 2018-05-04 14:27:33

这个问题是因为嵌套的if语句,它只导致option的值3被附加到select

要解决这个问题,您可以将所有option元素附加到一起,然后设置val() of select以选择所需的特定元素。试试这个:

代码语言:javascript
运行
复制
var html = [];
for (i = 0; i < 10; i++) {
  html.push($('<option>', {
    value: i,
    text: i
  }));
}

$('#mySelect').append(html).val(3);
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="mySelect"></select>

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

https://stackoverflow.com/questions/50012059

复制
相关文章

相似问题

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