javascript - 多个下拉列表条件
问题描述
我希望有人可以帮助我,我是 JQuery 的新手。如果在#age 中选择了一个选项或#master 中的选项已更改,我正在尝试为标记下拉框#type 边框的脚本编写JQuery 代码。
// condition 1 and condition 2
if($('#age :selected').text() !== '' || $('#master').change()) {
// perform the action
$("#type").css("border","solid 1px red");
};
不幸的是,与更改相关的条件不起作用。作为解决方法,我可以为每个条件创建 2 个不同的 if,但我想在同一个 if 语句中保持在一起。你认为这可能吗?
解决方案
你应该注意$('#master').change()
。因为不检查它的值是否为默认值是没有意义的。另一点是检查值而不是文本会更好。
无论如何,我可以这样做:
HTML
age
<select id="age">
<option value="">Choose</option>
<option value="10">10</option>
<option value="20">20</option>
</select> master
<select id="master">
<option value="">Choose</option>
<option value="X">X</option>
<option value="Y">Y</option>
</select> type
<select id="type">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
JS
$('#master, #age').change(function(e) {
changeBorder(e);
});
function changeBorder(e) {
if ($('#age').val() !== '' || (e.target.id === 'master' && $('#master').val() !== '')) {
// perform the action
$("#type").css("border", "solid 1px red");
} else
$("#type").css("border", "");
}
推荐阅读
- python - 如何解决 subprocess.run() 执行错误?
- angular - 我在安装角度时遇到问题
- python - 四舍五入到 5 的更高倍数
- python - 何时在此 Python 过程中重置临时变量?
- java - 如何在 Lucene 中创建自定义分析器,使用来自文件的自定义停止/常用词
- java - 从对象的 ArrayList 中获取具有最低值的属性
- autodesk-forge - Forge Viewer 作为另一个查看器的扩展
- android - 如何在 Android TV Box (Android 9) 上使用 camera2 API 使用双 USB 摄像头
- ios - 类型错误 null 不是 React Native FBSDK 中的对象(评估“ShareDialog.canShow”)
- java - 如何“模块化”我的 Bamboo Specs Java 文件的部分?