如何显示(阻止/无)第二个菜单取决于首先使用bootstrap multiselect

时间:2017-08-16 08:09:25

标签: javascript jquery html twitter-bootstrap

我有两个这样的菜单。 如果我在第一个菜单中选择Abon。它应该显示Abon optgroup(Abon-1,Abon-2)下的所有li元素,如果我取消选中第二个菜单中的块应该消失。 选择和选项是我的代码。另一个代码由bootstrap multiselect(li,输入复选框等)生成

<!-- first common --> 
<span class="multiselect-native-select">
<select name="emp_sel9[]" id="my_select_descr" multiple="multiple">
    <option value="-1">All</option> 
    <option value="1" style="padding-left: 15px;">Abon</option> 
    <option value="2" style="padding-left: 15px;">Client</option> 
</select>
<div class="btn-group">
<button type="button" class="multiselect dropdown-toggle btn btn-
 default" 
data-toggle="dropdown" title="Abon, Client" aria-expanded="false">
<span class="multiselect-selected-text">Abon, Client</span> 
<b class="caret"></b>
</button>
<ul class="multiselect-container dropdown-menu">
    <li class="multiselect-item multiselect-all">
         <a tabindex="0" class="multiselect-all">
         <label class="checkbox">
         <input type="checkbox" value="multiselect-all">Select 
         All</label>
         </a>
    </li>
    <li>

此处的完整代码: http://jsfiddle.net/w7aakdbb/1170/

我有一个想法,使用find,children和sublings来搜索元素......但是要堆积它。

1 个答案:

答案 0 :(得分:0)

我只是给你提示如何解决它。

获取已选中元素并在下拉列表2中显示。

$(document).ready(function() {
  $("#menu-1>li").on("click", function() {
    var selected = $(this).text()
    console.log(selected);
    $("#menu-2>li").hide();
    $("#menu-2").find("li[data-value='abon']").show();
  });
});

当您选择abon时,此示例正常工作,您可以对其进行更多改进。 (或者我稍后会更新它。我会通过复选框选择使其更具动态性,而不是text

https://jsfiddle.net/princesodhi/8kfyd7ec/1/