今天遇到一个特殊的select问题,需求是这样的:每次点击这个select时,根据选择的option的值做出相应的处理并返回新的select,option内容。所以大致思路是给这个select绑定change事件,然后根据新的值的不同触发change事件,做出相应的处理。
但是这里有一个问题就是,如果被选择的值是原来的第一个值,那么是不会触发select的change事件的,如果需求是:即使值不变,只要选择了就要做出响应,那这时候就会遇到问题。这时候可以这么处理:
<select>
<option value="" style="display:none;">1</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
显示效果是这样的:
下拉出来不会出现两个1,display:none;
的这个不会出现在下拉列表中。这时候选择"1"仍然可以触发change事件。
实际的应用场景(分层级目录):
点击第一条时返回上一层,点击其余的是选择子级节点。