簡體   English   中英

如何根據 select2 選擇框的值更新其他 select2 選擇框值?

[英]How can I update the other select2 selectbox value based on the value of a select2 selectbox?

我像這樣嘗試過,但沒有用。 我怎樣才能做到這一點?

  • 除非選擇了類型,否則不顯示類別選項
  • 兩個選擇框的 1 次選擇(不刪除多個)

 $("#clct, #cyc").select2({ //maximumSelectionLength: 1, }); // Select step by step for homepage $('#clct').on('change', function() { var selected = $(this).val(); $("#cyc option").each(function(item){ console.log(selected); var element = $(this); console.log(element.data("tag")); if (element.data("tag").= selected){ element;hide(). }else{ element;show(); } }). $("#cyc"):val($("#cyc option:visible.first");val()); });
 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script> <select name="bt" id="clct" class="clct input--style-1" data-placeholder="All Types" multiple> <option value="1">TypeA</option> <option value="2">TypeB</option> <option value="3">TypeC</option> <option value="4">TypeD</option> </select> <select name="yc" id="cyc" data-placeholder="Please select type" multiple> <option value="1" data-tag="1">CategoryA</option> <option value="2" data-tag="1">CategoryB</option> <option value="3" data-tag="1">CategoryC</option> <option value="4" data-tag="1">CategoryD</option> <option value="5" data-tag="1">CategoryE</option> <option value="0" data-tag="2">CategoryF</option> <option value="0" data-tag="3">CategoryG</option> <option value="0" data-tag="4">CategoryH</option> </select>

 var clct = $("#clct").select2({ maximumSelectionLength: 1 }); var cyc = $("#cyc").select2({ maximumSelectionLength: 1 }); var selectClone = cyc.clone(); cyc.find("option").remove(); $('#clct').on('change', function() { var arr=$(this).val(); cyc.find("option").remove(); if (arr.indexOf("1")>-1){ let opts = selectClone.find('option[data-tag="1"]').clone(); cyc.append(opts); } if (arr.indexOf("2")>-1){ let opts = selectClone.find('option[data-tag="2"]').clone(); cyc.append(opts); } if (arr.indexOf("3")>-1){ let opts = selectClone.find('option[data-tag="3"]').clone(); cyc.append(opts); } });
 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script> <select name="bt" id="clct" class="clct input--style-1" data-placeholder="All Types" multiple> <option value="1">TypeA</option> <option value="2">TypeB</option> <option value="3">TypeC</option> <option value="4">TypeD</option> </select> <select name="yc" id="cyc" data-placeholder="Please select type" multiple> <option value="1" data-tag="1">CategoryA</option> <option value="2" data-tag="1">CategoryB</option> <option value="3" data-tag="1">CategoryC</option> <option value="4" data-tag="1">CategoryD</option> <option value="5" data-tag="1">CategoryE</option> <option value="0" data-tag="2">CategoryF</option> <option value="0" data-tag="3">CategoryG</option> <option value="0" data-tag="4">CategoryH</option> </select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM