HTML option 标签的 selected 属性
http://www.w3school.com.cn/tags/att_option_selected.asp
1、一般做WEB的时候,Chrome的兼容性会比较好,但是这里有个特殊的情况,下面的方法,Chrome会有问题。
Chrome版本:版本67.0.3371.0(正式版本) (32 位)
效果图
这里写图片描述
反例如下:(Chrome连续点击resetOption、setOption、resetOption、setOption就会出现问题)
<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
//取消选中
function resetOption(id) {
$('#' + id).find("option").each(function() {
$(this).removeAttr("selected");
});
}
// 选中。这里强调的是:Chrome的BUG(版本67.0.3371.0(正式版本) (32 位))
function setOption(id, optionID) {
if (optionID == null) {
return;
}
$('#' + id).find("option").each(function() {
if ($(this).val() == optionID) {
$(this).attr("selected", "selected");
}
});
}
</script>
</head>
<body>
<div>
<select id="selectID">
<option value='0'></option>
<option value='1'>Volvo</option>
<option value='2' selected="selected">Saab</option>
<option value='3'>Mercedes</option>
<option value='4'>Audi</option>
</select>
<button type="button" onClick="resetOption('selectID')">resetOption</button>
<button type="button" onClick="setOption('selectID', '1')">setOption</button>
</div>
</body>
正例,推荐以下方法:
<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
//取消选中
function resetOption(id) {
$('#' + id).find("option").each(function() {
$(this).removeAttr("selected");
});
}
// 选中。--------------------------这部分代码不同
function setOption(selectID) {
var data = [ {
id : '0',
name : ''
}, {
id : '1',
name : 'Volvo'
}, {
id : '2',
name : 'Saab'
}, {
id : '3',
name : 'Mercedes'
}, {
id : '4',
name : www.douniu157.com'Audi'
} ];
// default value
var id = 'id';
var name = www.thd580.com'name';
// empty value
var option = '<option value="0"></option>';
// other value
for ( var i in data) {
if (selectID != undefined && data[i][id] == selectID) {
option += '<option value="' + data[i][id] + '" selected="selected" >' + data[i][name] + '</option>';
continue;
}
option += 'www.thd580.com<option value="' + data[i][id] + '">' + data[i][name] + '</option>';
}
$('#selectID').html(option);
}
</script>
</head>
<body>
<div>
<select id="selectID">
<option value='0'>www.douniu178.com </option>
<option value='1'>Volvo</option>
<option value='2' selected="selected">Saab</option>
<option value='3'>Mercedes</option>
<option value='4'>Audi</option>
</select>
<button type="button" onClick="resetOption('selectID')">resetOption</button>
<button type="button" onClick="setOption('1')">setOption</button>
</div>
</body>
</html>
2、测试地址(把上面的代码贴进去,提交代码,右侧就会出现效果)
http://www.w3school.com.cn/tiy/t.asp?f=jquery_hide
相关文章
- HTML基础篇(标签和属性整--已剔除不被浏览器支持的部分)
- 获取input标签的所有属性
- 在VSCode中编辑HTML文档时,在Dom标签上写style属性时智能提示的问题
- jQuery和HTML对某个标签设置只读(readonly)或者禁用(disabled)属性
- 【HTML】使用js给input标签增加disabled属性
- 常用的HTML标签
- select标签,获取数据库中的值作为option. 修改时定位在指定位置
- form表单标签的enctype属性的作用
- 深入解析 HTML 中 `<script>` 标签的 async 和 defer 属性
- 前端HBuiderX ,快速生成多个标签和属性,文本内容代码的快捷键