我在 html 页面上有一个下拉菜单,当它第一次加载时,它被设置为默认值。但是当用户更改值时,我希望能够通过单击按钮将下拉列表设置回原始默认值。
我怎样才能做到这一点?没有在隐藏字段中保留原始值的副本。它就像 javascript 重置表单的功能一样。但我只是希望它只适用于下拉列表。
谢谢
原文由 user2206329 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 html 页面上有一个下拉菜单,当它第一次加载时,它被设置为默认值。但是当用户更改值时,我希望能够通过单击按钮将下拉列表设置回原始默认值。
我怎样才能做到这一点?没有在隐藏字段中保留原始值的副本。它就像 javascript 重置表单的功能一样。但我只是希望它只适用于下拉列表。
谢谢
原文由 user2206329 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
6 回答1.1k 阅读
考虑到你有一个简单的选择框..你可以使用
val()
来设置选项..试试这个
在这里摆弄
但是,如果您的默认选项是
disabled
,那么您需要变通才能进行分配。有点像这样:jsFiddle
请记住,您可以更改
$('#selectId').val(0);
的值以满足您自己的需要。例如,如果第三个选项是您的默认选项并且值为“bob”,那么您可以说$('#selectId').val('bob');
我提供的答案只是一个最简单的解决方案…@SpYk3HH 修改了它,如果您默认选择被禁用…是的,@Felix Kling 已经在上一篇 文章 中回答了这个问题,所以看看…无论如何谢谢大家。 .:)
通过 jQuery 使用 Attribute for Cross Compat 的解决方案
为了进一步了解 FelixKling 的解决方案,这里是完整的 jQuery 版本,它使用从原始属性中提取的 .attr 而不是从 .prop 中“更改的属性”。
jsFiddle 示例
组合破坏者!
要进一步巩固解决方案,请尝试组合使用上述两种方法。这样,无论 HTML 布局如何,您都必须重置为默认值。我的意思是,也许您没有设置默认值的选择框,而是选项 1 是加载时的默认值。同时,其他选择确实有一个默认设置。下面将同时解决这两个问题。
w/Out Comments,漂亮而简短
示例 1
示例 2(带有更改事件)