使用jQuery chosen插件时选中禁用选项点击按钮触发alert的相关问题
Chosen插件产品状态选择判断实现方案
实现效果如下:
失效原因排查
你现有判断逻辑未触发的核心原因是**$status变量未正确赋值,没有获取到下拉框当前的选中值**,同时前端JS中使用exit()方法无效,也会导致逻辑异常。
完整可运行代码
1. 修正后的初始化+事件绑定代码
$(document).ready(function(){ // 初始化Chosen下拉框,显式设置宽度解决隐藏tab下下拉框不显示问题 $('.chosenSelect').chosen({ width: "95%"}); // 绑定Add Item按钮点击事件,请将.add-item-btn替换为你实际的按钮类名/ID $('.add-item-btn').click(function(e) { // 获取下拉框当前选中值 const selectedStatus = $('.chosenSelect').val(); // 选中值校验 if(selectedStatus === 'disabled'){ alert("you select disabled Item"); // 阻止后续表单提交/新增逻辑执行 e.preventDefault(); return false; } // 正常选中后的其他业务逻辑写在下方 }) })
注意说明
- 如果页面存在多个Chosen下拉框,建议给对应状态选择的select设置独立ID,取值时用ID选择器(例如
$('#product_status').val())避免取值混乱 - Chosen插件会自动同步原生select的选中状态,直接读取原生select的value即可,无需调用Chosen专属API取值
内容的提问来源于stack exchange,提问作者Emon_Rana
相关产品推荐
相关产品推荐

