【问题标题】:show empty value in html select element在 html 选择元素中显示空值
【发布时间】:2012-05-22 14:18:37
【问题描述】:

我的表单中有一个 HTML 选择元素(组合框),其中有几个 if 选项。与往常一样,每个选项都有特定的价值。在页面初始化期间,我从服务器获得一个值,我必须将其用作列表中的选定选项。但是,有时我从服务器获得的值与任何可用选项都不匹配。 (咕噜)

我想让用户知道我从服务器获得的值不是一个有效的选项。我想做的是显示一个空的选择框(好像没有进行选择),而没有实际的空选项作为选项之一。如果可能的话,我还想使用默认的选择元素。这样的事情可能吗?

编辑:当您在 IE9 中将组合框的值设置为 '' (我使用 $('select').val('') )时,它会清空组合框中的文本,这正是我所需要的。不幸的是,只有 IE9 这样做,所以这不是一个选项。

【问题讨论】:

  • 要显示为空,<select> 元素需要一个带有空文本的<option>(或根本没有<option>)。也许你可以在运行时添加这个<option> 元素?
  • 是的,我可以这样做,但我不想弄乱选项。我似乎这是唯一的选择。 叹息

标签: javascript html select combobox


【解决方案1】:

开箱即用,HTML 选择不提供此类功能。您必须添加一个空的 <option value="somethingwrong">Please, pick a value</option> 元素并使用脚本检查用户是否选择了此特定值。我建议同时捕获下拉列表的onchange 事件和整个表单的onsubmit 事件。

【讨论】:

    【解决方案2】:

    您可以在选择中插入选项,并在更改时将其删除以减少该选项的问题

    查看Demo here

    【讨论】: