簡體   English   中英

如何使用 jQuery 附加數組?

[英]How can I append array using jQuery?

我有兩個選擇框。

<select id="select-1"><option value="one">one</option><option value="two">two</option></select>
<select id="select-2"></select>

當我選擇值一時,它將使用 List 數組附加選項列表

<script type='text/javascript'>
jQuery(document).ready(function($) {
  $('#select-1').on('change', function() {
    var List = ["test 1", "test 2", "test 3", "test 4"];
    var selectedVal = $(this).children("option:selected").val();
    if(selectedVal == "one") {
      $('#select-2').append('<option>' +  List + '</option>');
    }  else {
     //
    }
  })
});
</script>

它加載選項列表,如

<option>test 1 test 2 test 3 test 4</option> 

但它必須是

<option>test 1</option><option>test 2</option><option>test 3</option><option>test 4</option>

我怎樣才能解決這個問題 ?

一種簡潔的方法是使用map()從您可以附加的數組中構建一個option元素的 HTML 字符串:

 jQuery($ => { $('#select-1').on('change', function() { let list = ["test 1", "test 2", "test 3", "test 4"]; if ($(this).val() === "one") { let options = list.map(t => `<option>${t}</option>`).join(''); $('#select-2').append(options); } else { $('#select-2').empty(); } }) });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select id="select-1"> <option value="">Select...</option> <option value="one">one</option> <option value="two">two</option> </select> <select id="select-2"></select>

您可能需要forforEach循環:

if (selectedVal == "one") {
    List.forEach(item => {
        $('#select-2').append('<option>' +  item + '</option>');
    }
}

暫無
暫無

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

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