HTML使<option>无效

时间:2015-04-28 19:14:33

标签: 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>
    <option value="3">Auditions</option>
</select>

我想设置菜单,以便用户不能将category作为所选选项。有没有办法用HTML做到这一点?如果没有,我将如何使用JavaScript?

谢谢

3 个答案:

答案 0 :(得分:3)

当用户点击任何选项时,他无法返回第一个选项。但他可以不加改变地提交表格,然后你需要通过JS验证。

这很简单,

function validate() {
    var select = document.getElementById('Category');
    return !select.value == 0;
}

HTML中的表单:

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

答案 1 :(得分:0)

是否会禁用精选作品?

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

或者可能禁用所有选定的选项对您有用(如下所示:https://stackoverflow.com/a/23428851/882073

答案 2 :(得分:-1)

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

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

$('#Category').find('option:not([disabled])').first().prop('selected', true);

将此添加到您的ondomready事件处理程序。这将强制为此select元素选择第一个未禁用的选项,无论其选项是什么? selected个属性。此方法的缺点是它会阻止selected属性与select元素一起使用。

另一方面,如果您尝试在select元素中创建类别标题,则应考虑使用optgroup元素,因为这是正确的语义标记:

<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>