Javascript HTML制作<;选项>;无效的

Javascript HTML制作<;选项>;无效的,javascript,html,Javascript,Html,我正在设计的网站的联系方式中有以下代码: <select id="Category" name="Category"> <option value="0" selected="selected" disabled>Category</option> <option value="1">General Info</option> <option value="2">Booking</option&

我正在设计的网站的联系方式中有以下代码:

<select id="Category" name="Category">
    <option value="0" selected="selected" disabled>Category</option>
    <option value="1">General Info</option>
    <option value="2">Booking</option>
    <option value="3">Auditions</option>
</select>

类别
一般信息
预订
试镜
我想设置菜单,以便用户不能将
类别
作为所选选项。有没有办法用HTML来实现这一点?如果不是,我将如何使用JavaScript实现它


谢谢

当用户单击任何选项时,他无法返回第一个选项。但他可以提交表单而不做任何更改,然后您需要通过JS进行验证

很简单,

function validate() {
    var select = document.getElementById('Category');
    return !select.value == 0;
}
以及HTML格式:

<form onsubmit="return validate()">...</form>
。。。

理想情况下,在生成HTML文档时,只需从服务器端的禁用选项中删除
selected
属性即可

否则,如果您使用的是JQuery,则可以通过以下方法轻松完成:

$('#Category').find('option:not([disabled])').first().prop('selected', true);
将此添加到您的
ondomready
事件处理程序中。这将强制为此
select
元素选择第一个非禁用选项,而不管其选项“
selected
属性如何。此方法的缺点是它将阻止
selected
属性与此
select
元素一起使用

另一方面,如果您试图在<代码>中选择类别标题,选择元素,则应考虑使用<代码> optGys元素,因为这是正确的语义标记:

<select id="Category" name="Category">
    <optgroup label="Category">
        <option value="1">General Info</option>
        <option value="2">Booking</option>
        <option value="3">Auditions</option>
    </optgroup>
</select>

一般信息
预订
试镜

是否会为您禁用select work

<select id="Category" name="Category" disabled>
    <option value="0" selected="selected">Category</option>
    ...
</select>

类别
...
或者,禁用除所选选项以外的所有选项将适用于您(如下所示:)

根据

约束验证:如果元素已指定其属性,并且 元素有它们自己的属性 设置为true,或为中的唯一元素 该元素的 设置为true是, 那么元素就是

如果一个元素有一个属性 已指定,但未指定属性,以及 具有1的平均值;如果第一个 元素中的元素(如果有)是空字符串,并且 元素的父节点是元素(而不是 元素),那么这就是选择 元素的占位符标签选项

因此,您可以使用


类别
一般信息
预订
试镜

我会使用
!select.selectedIndex==0
优先顺序如何作用于该建议?在发布那个想法泡泡之前,你检查过了吗?布尔值是否曾经“三重相等”
0
?看看
让val=0!val==0然后
让val=1!val==0…嗯。