ASP.NET MVC Razor中根据下拉框选择值触发alert的JS条件怎么写
问题修正说明
原有代码的错误点
- 错误1:下拉框取值逻辑错误:你定义的下拉框绑定的是Dictionary的
Key(数字类型)作为提交值,Value作为显示文本,所以$("#employmentStatus").val()拿到的是1/2/3这类数字,不是「Fresher」「Employed」这类显示文本。 - 错误2:多处jQuery选择器遗漏
$标识符,导致代码无法正常获取DOM元素值。 - 错误3:逻辑判断缺少分组括号,
&&优先级高于||,原有写法的逻辑完全不符合需求。
正确实现代码
你可以根据需求绑定到表单提交事件、下拉框change事件使用,以下是符合要求的校验逻辑:
// 示例绑定表单提交校验 $("form").submit(function() { // 获取下拉框值(数字类型) const statusVal = $("#employmentStatus").val(); // 加trim处理全空格输入的场景 const companyVal = $("#currentCompany").val().trim(); // 逻辑:选中Fresher(值1)或Employed(值2),且公司信息为空 if ((statusVal == 1 || statusVal == 2) && companyVal === '') { alert('Please select Current Company Name'); return false; } // 其他业务逻辑 })
如果你一定要通过显示文本判断,也可以用以下写法:
const statusText = $("#employmentStatus option:selected").text(); const companyVal = $("#currentCompany").val().trim(); if ((statusText === "Fresher" || statusText === "Employed") && companyVal === '') { alert('Please select Current Company Name'); return false; }
内容的提问来源于stack exchange,提问作者Santosh
相关产品推荐
相关产品推荐

