如何使<select>元素不选择默认选择的第一个选项?</select>

时间:2014-06-20 17:13:11

标签: javascript jquery html

我正在使用jquery interdependencies library来构建复杂的表单(当您显示字段取决于其他字段的值时)。

所以,我有<select>元素

<select placeholder="Select Product ID Type" id="form_product_id_type" name="form_product_id_type">
    <option label="01 - Proprietary" value="01">01 - Proprietary</option>
    <option label="02 - ISBN-10" value="02">02 - ISBN-10</option>
    <option label="03 - GTIN-13" value="03">03 - GTIN-13</option>
    <option label="04 - UPC" value="04">04 - UPC</option>
    <option label="05 - ISMN-10" value="05">05 - ISMN-10</option>
    ...
</select>

如果用户选择选项“01”,那么我应该显示另一个字段“TypeDescription”,用户可以在其中描述他的专有id方案。如果用户从select中选择任何其他选项 - “TypeDescription”字段将不会出现。

事情是第一个选项

<option label="01 - Proprietary" value="01">01 - Proprietary</option>
当您打开页面时,默认情况下始终选择

,因此始终显示“TypeDescription”字段。

有没有办法取消选择<select>元素中的所有选项?我的目标是当用户打开页面时,他不应该看到字段“TypeDescription”。

附加JSFiddle

2 个答案:

答案 0 :(得分:10)

唯一的方法是添加一个空选项。

<select placeholder="Select Product ID Type" id="form_product_id_type" name="form_product_id_type">
    <option selected value="">Select Product ID Type</option>
    <option label="01 - Proprietary" value="01">01 - Proprietary</option>
    <option label="02 - ISBN-10" value="02">02 - ISBN-10</option>
    <option label="03 - GTIN-13" value="03">03 - GTIN-13</option>
    <option label="04 - UPC" value="04">04 - UPC</option>
    <option label="05 - ISMN-10" value="05">05 - ISMN-10</option>
    ...
</select>

<select>总是有选择的东西;如果用户没有与控件交互,并且<option>个元素都没有“selected”属性,则选择第一个。

我很确定“占位符”对<select>元素没有任何作用。

答案 1 :(得分:3)

在顶部添加一个没有值的选项。 placeholder属性不适用于选择框。

<select id="form_product_id_type" name="form_product_id_type">
    <option value="">Select Product ID</option>
    <option label="01 - Proprietary" value="01">01 - Proprietary</option>
    <option label="02 - ISBN-10" value="02">02 - ISBN-10</option>
    <option label="03 - GTIN-13" value="03">03 - GTIN-13</option>
    <option label="04 - UPC" value="04">04 - UPC</option>
    <option label="05 - ISMN-10" value="05">05 - ISMN-10</option>
    ...
</select>