我正在使用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
答案 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>