如何实现主题?
当我写:
aaaa
bbbb
然后默认选择的项目是" aaaa"
当我写:
aaaa
bbbb
然后默认选中的项目为空白,但此空白项目显示在下拉菜单中。
如何使用隐藏在下拉列表中的默认空白值实现SELECT标签?
默认选择选项的可能重复为空白
只需使用禁用和/或隐藏属性:
selected将此选项设为默认选项。
disabled使此选项不可单击。
style='display: none'使此选项在较旧的浏览器中不显示。请参阅:我可以使用隐藏属性文档。
hidden使得此选项不显示在下拉列表中。
实际上,IE 11确实显示"隐藏"选项。
Webkit似乎不支持hidden属性
如"我可以使用"中所述,hidden属性实际上是display: none,因此要支持较旧的浏览器:
您可以使用.prop将selectedIndex设置为-1:http://jsfiddle.net/R9auG/。
对于旧版jQuery,请使用.attr而不是.prop:http://jsfiddle.net/R9auG/71/。
@IronicMuffin:谢谢;刚刚经过测试,实际上似乎可以在所有主流浏览器上使用。
@zobidafly:感谢您的编辑;我已经详细说明了。
.attr在新的jQuery版本中将失败。试图变得聪明使我失败了。
只需使用
Please select an option...
无需脚本即可在任何地方工作,并允许您同时指导用户。
aaaa
bbbb
ff / chrome-好的,歌剧/ ie7-9-不好,你可以在这里测试(带或不带js):jsfiddle.net/R9auG/145,所以我推荐@pimvdb的js-approach
这是使用普通JavaScript的一种简单方法。这与pimvdb发布的jQuery脚本非常相似。您可以在这里进行测试。
window.onload = function(){
document.getElementById('id_here').selectedIndex = -1;
}
。
aaaa
bbbb
确保表单和JavaScript中的" id_here"匹配。
你不能他们根本无法那样工作。下拉菜单必须始终选择其选项之一。
您可以(尽管不建议这样做)监视更改事件,然后使用JS删除第一个选项(如果为空)。
您为什么不推荐这种行为?
在很多情况下,您希望用户主动从列表中选择内容。我不认为JS是实现它的最佳方法(尽管它似乎是唯一的方法),但我确实认为应该有一种方法。
对于纯HTML @isherwood有一个很好的解决方案。对于jQuery,给您的select下拉ID,然后使用jQuery选择它:
aaaa
bbbb
然后使用此jQuery清除页面加载下拉列表:
$(document).ready(function() {
$('#myDropDown').val('');
});
或将其单独放在函数中:
$('#myDropDown').val('');
如果您需要在不重新加载页面的情况下删除下拉菜单,则可以轻松完成所需的功能,并将其放入可以在页面上调用的函数中。
你可以试试这个片段
$("#your-id")[0].selectedIndex = -1
它为我工作。
最好提供一个jsfiddle.net作为答案,以提供更清晰的解释。
假设OP正在使用jQuery。