如何在jQuery的select change事件中获取选项id而非value?
解决方案:改用选中option的id值控制DOM显示
当然可以实现!你只需要调整jQuery代码,从获取select的value改成直接获取选中option元素的id属性即可,HTML部分不需要做任何修改。
修改后的jQuery代码
$(function() { $('#inputtype').change(function(){ $('.fastallow').hide(); // 定位到当前选中的option,取出它的id属性值 const selectedOptionId = $(this).find('option:selected').attr('id'); $('#' + selectedOptionId).show(); }); });
代码说明
- 原来的
$(this).val()是获取select元素的当前值(即选中option的value属性),现在我们通过$(this).find('option:selected')精准定位到当前选中的option元素,再用.attr('id')提取它的id属性。 - 后续逻辑和原代码一致:先隐藏所有
.fastallow类的元素,再根据获取到的id值显示对应的目标DOM元素。
注意事项
要确保目标显示元素的id属性值,和对应option的id值完全匹配(比如option的id是<?= $namee->u_ft; ?>,对应的显示元素id也得是这个值),否则会出现找不到元素的情况。
内容的提问来源于stack exchange,提问作者Janan
相关产品推荐
相关产品推荐

