gpt4 book ai didi

javascript - IE 不清除选择值

转载 作者:行者123 更新时间:2023-12-01 02:15:07 25 4
gpt4 key购买 nike

我正在使用一个简单的jquery来清除表单中选择的内容,但是在iE所有版本中,选择都没有清除。在FF中是可以的,只是在IE中不行。谁能看出我哪里出了问题吗?我已经发布了代码的相关部分。谢谢

更新:

我想要实现的是,当提交表单时,输入被清除,并且选择/选​​项返回到默认状态,就像加载页面时一样。

回答是否对其他人有帮助:$("select").prop('selectedIndex', 0);

/*Show submitted*/
//$(".done").show(500).slideUp(300).delay(800).fadeIn(400);
$(".done").html("<div id=\"boxSuccess\">Message sent successfully!</div><br />");
/*Clear input values*/
$("input").val("");
/*Clear slelect values*/
$("select").val("");
$(".done").fadeIn(4000).fadeOut(4000);

最佳答案

单选<select>元素不能真正被“清除”;一些<option>其中必定有表现。您可以做什么来确保(例如)显示第一个选项是

$('select').get(0).selectedIndex = 0; // or $('select').prop('selectedIndex', 0);

编辑 - 查看 jQuery (1.5.2) 源代码告诉我,当找不到作为值的搜索值时(或者,如果没有“value”属性,选项的文本),然后它将“selectedIndex”设置为 -1。快速的 jsfiddle 应该可以显示它在 IE 中的效果。

再次编辑 — a quick test表明 IE 不注意“selectedIndex”被设置为 -1。

更多 Here是一个相关的 jQuery 错误报告。就我个人而言,我认为对于单选下拉列表来说这并不是一个真正的错误。对于多选,我可以看到一个参数,尽管总是可以这样做:

$('select option').prop('selected', false);

取消选择多选中的所有内容。然而,不适用于单选元素,因为这又没有意义。该元素总是导致其选项之一的值与表单一起提交,因此它实际上无法被“清除”,除非选项之一具有空值。

甚至更多 - 如果您的某个选项具有“defaultSelected”属性(或属性),那么您可以通过以下方式将其设为选定选项:

$('select option').each(function() {
this.selected = this.defaultSelected;
});

关于javascript - IE 不清除选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6507006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com