javascript - 如果值等于或在 jquery 中选择,则附加选择选项

标签 javascript jquery

我有 2 个选择标签。第二个取决于第一个。如果我仅按值检查它就可以工作,但我还需要检查是否已选择。

if(el.val() === "LOCATIONS" || el.is(' option:selected') ){
 $("#status option").remove();
 $("#status").append("<option value=''>All Packages</option><option value=''>KL</option>");
}

我正在尝试制作依赖的选择下拉列表。如果我删除 el.is('option:selected')它根据第一个选择的所选选项附加选项。但如果在第一个下拉列表中选择了任何选项,它还应该附加选项

这里是jsfiddle

最佳答案

即使您检查一个条件(即所选选项的值),它仍然有效。但要传递两个条件,您必须使用 && 运算符,而不是 el.is('option:selected'),您可以将其更改为 ("el :selected"); 如下,

$(document).ready(function() {
var a = $("#source > option:selected").val();
if(a == "REGIONAL"){
    $("#status option").remove();
        $("#status").append("<option value=''>All Packages</option><option value='Airports'>Airports</option>");
}
$("#source").change(function() {    
    var el = $(this);
    if((el.val() === "AUDIENCES SEGMENT") && ('el:selected')) {
    $("#status option").remove();
    $("#status").append("<option value=''>All Packages</option><option value='Youth'>Youth</option><option value='Working Adults'>Working Adults</option><option value='Family'>Family</option><option value='Travellers'>Travellers</option>");
    }
      else if((el.val() === "REGIONAL") && ('el:selected')) {
        $("#status option").remove();
        $("#status").append("<option value=''>All Packages</option><option value='Airports'>Airports</option>");
        
        }
        
        else if((el.val() === "LOCATIONS") && ('el:selected')) {
        $("#status option").remove();
        $("#status").append("<option value=''>All Packages</option><option value=''>KL</option>");
        
        }
  });
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Source:
  <select id="source" name="source">
     <option>All Types</option>
     <option value="AUDIENCES SEGMENT">AUDIENCES SEGMENT</option>
     <option selected value="REGIONAL">REGIONAL</option>
     <option value="LOCATIONS">LOCATIONS</option>
  </select>

Status:

<select id="status" name="status">
    <option>All Packages</option>
</select>

关于javascript - 如果值等于或在 jquery 中选择,则附加选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40703245/

相关文章:

javascript - 如何在谷歌地图中显示经度和纬度(矢量变化)

javascript - 在 textarea 中不解释欧元字符的 HTML 转义?

javascript - 谷歌地图 event.addListener 对象未定义

javascript - 控制文档在向上/向下箭头上滚动的程度

javascript - 如何获取 XML 中的 "xx:creator"值?

javascript - jQuery 未发布 - (jQuery - ColdFusion)

javascript - 有没有在 node.js 中做实时模型的框架?

javascript - 如何在 JavaScript 中将字符串转换为对象数组

jquery - jQuery DatePicker 中的 TextBox onBlur 值

javascript - addEventListener 更改从一个类中选择的 id 的 CSS 样式