測試代碼如下:
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="res/js/jquery-1.12.3.js"></script>-->
<script type="text/javascript" src="res/js/jquery-1.12.3.js"></script>
</head>
<body>
<label>城市</label>
<select id="city" >
<option value=""></option>
<option value="0">北京</option>
<option value="1">上海</option>
<option value="2">廣州</option>
<option value="3">深圳</option>
<option value="4">杭州</option>
<option value="5">成都</option>
</select>
<button class="btn" id="get_value">擷取</button>
<button class="btn" id="set_value">根據value設定</button>
<button class="btn" id="set_text">根據text設定</button>
<script>
$(".btn").click(function() {
var id = $(this).attr('id');
if (id == "get_value") {
s1 = $("#city option:selected").text();//擷取選中option文本
alert(s1);
}
if (id === "set_value") {
$("#city").find("option[value='2']").attr("selected", true); //該方法在非IE浏覽器下隻能第一次有效(IE下面完全正常),原因為
// $("#city").val('2'); //根據value值選中option,這個是首選,簡單高效
}
if (id === "set_text") {
$("#city option:contains(杭州)").attr("selected",true); //貌似隻能用一次(但在IE下面完全正常)
}
});
</script>
</body>
</html>
可以确定,相同的js操作不停切換,在IE下均正常。在Chrome下異常,隻能工作一次。之前還以為是layui的鍋。這次完全不用layui也這樣。一切換IE浏覽器就正常了。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3kDN2ETOzADMzETMxAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)