Don*_*ias 37 jquery internet-explorer
为什么在IE8中不能取消选择多行选择框中的所有选项?
$("#myselect").children().removeAttr("selected");
Run Code Online (Sandbox Code Playgroud)
有解决方法吗?没有什么我能想到的(attr("选择","")等)似乎有效.
更新:这是一个更新的jsFiddle.我至少让它降级,以便在IE8中选择第一个选项.但是如果没有硬编码选择='选择' 和 IE8似乎需要的.attr调用,它在Firefox,Chrome和IE8中做了3件不同的事情!看到这个版本:,这很简单,看起来应该有效:
也许我让自己疯了,在那里我看不到有什么错误?
Jon*_*Jon 68
问题以误导的方式提出."删除selected
属性"和"取消选择所有选项"是完全不同的事情.
要以文档化的跨浏览器方式取消选择所有选项,请使用其中一个
$("select").val([]);
Run Code Online (Sandbox Code Playgroud)
要么
// Note the use of .prop instead of .attr
$("select option").prop("selected", false);
Run Code Online (Sandbox Code Playgroud)
小智 22
这是jQuery转换为IE8的方式,不一定是浏览器本身.
我能够通过旧学校和jQuery打破一行来解决这个问题:
document.getElementById('myselect').selectedIndex = -1;
Run Code Online (Sandbox Code Playgroud)
Gab*_*abe 21
这有效:
$("#myselect").find('option').removeAttr("selected");
Run Code Online (Sandbox Code Playgroud)
要么
$("#myselect").find('option:selected').removeAttr("selected");
Run Code Online (Sandbox Code Playgroud)
San*_*osh 10
使用jQuery 1.9及以上版本:
$("#mySelect :selected").prop('selected', false);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
113632 次 |
最近记录: |