动态给option设置selected后,select下拉框显示不正确,selected=“selected”的option

本文介绍如何正确设置HTML Select元素中的选项为选中状态。通过对比错误与正确的代码示例,解释了jQuery中使用prop方法而非attr方法来设置'selected'属性的原因。


如上图,设置了selected的option对应值为ef,但是下拉框值是cccccc。

//错误代码,
$("#selectId option").removeAttr("select");
$("#selectId option[value='01']").attr("selected",true);

//正确代码
$("#selectId option").porp('selected',false);
$("option[value='01']").prop("selected",true);//prop使用于固定属性,selected就是select下拉框的固定属性。//attr适用于自定义属性,比如active


<select id="selectId">
    <option>ccccc</option>
    <option value="02">ee</opiton>
    <option value="01">ef</opiton>
</select>




### 解决 `el-select` 下拉框中 `el-option` 点击事件触发的问题 对于 `element-ui` 中的 `el-select` 和 `el-option` 组件,在尝试为 `el-option` 添加点击事件时,默认情况下直接使用 `@click` 并会生效。这是因为 `el-option` 的渲染机制以及其内部处理逻辑所致。 为了使点击事件能够正常工作,应当采用 `@click.native` 来绑定事件处理器[^1]: ```html <template> <div> <el-select v-model="selectedValue"> <el-option v-for="(item, index) in options" :key="index" :label="item.label" :value="item.value" @click.native="handleOptionClick(item)" /> </el-select> </div> </template> <script> export default { data() { return { selectedValue: '', options: [ { value: 'option1', label: '黄金糕' }, { value: 'option2', label: '双皮奶' } ] }; }, methods: { handleOptionClick(option) { console.log('Selected Option:', option); // 可在此处执行其他操作,比如更新关联的选择框数据源或设置输入框默认值 } } }; </script> ``` 上述代码展示了如何利用 `@click.native` 实现当用户点击特定选项时调用自定义的方法并传递所选项目作为参数。这种方法仅解决了点击事件无法触发的问题,还允许开发者根据实际业务需求灵活地响应用户的交互行为[^3]。 此外,如果遇到两个相互依赖的 `select` 控件场景——即一个控件的选择会影响另一个控件的内容,则可以在 `handleOptionClick()` 方法内动态调整第二个 `select` 的数据源数组[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值