<select multiple>标签使用checked属性不生效的问题咨询
问题根因
<select>下拉控件(含多选模式)的<option>选项,设置默认选中的合法属性是selected,你误用了仅适用于单选框、复选框的checked属性,浏览器会直接忽略<option>上的无效checked属性,因此默认选中逻辑不生效。
修正方案
将需要默认选中的<option>标签上的checked替换为selected即可,修正后的完整代码如下:
<body> <form action="" method="get"> <fieldset> <label for="skill">Skill</label> <select name="skills" id="skill" multiple> <option selected value="html">Html</option> <option value="css">Css</option> <option value="jss">Javascript</option> </select> <br> <input type="submit"> <input type="reset"> </fieldset> </form> </body>
额外注意点
selected是布尔属性,直接写在标签上即可生效,标准写法支持selected或者selected="selected"两种形式- 多选模式下支持给多个
<option>同时添加selected属性,实现多选项默认选中的效果 - 不要在
<option>标签上使用checked属性,该属性对下拉选项无任何作用
原代码运行无默认选中项的效果参考:
内容的提问来源于stack exchange,提问作者Mohamed
相关产品推荐
相关产品推荐

