簡體   English   中英

使用jQuery將所選選項設置為多個列表

[英]Set selected option to multiple list using jQuery

我有一個DB列表,顯示在選擇多個標簽中:

 <select multiple="multiple" id="list" name="color"> <option value="1">Red</option> <option value="2">Green</option> <option value="3">Blue</option> <option value="4">Magenta</option> <option value="5">Black</option> <option value="6">Cyan</option> <option value="7">Yellow</option> </select> 

給定來自DB的值數組,需要僅選擇在DB數組中找到的那些項,例如[2,4,7]。 如何使用jQuery, attr('selected')推送這些選項標簽?

 <select multiple="multiple" id="list" name="color"> <option value="1">Red</option> <option value="2" selected="selected">Green</option> <option value="3">Blue</option> <option value="4" selected="selected">Magenta</option> <option value="5">Black</option> <option value="6">Cyan</option> <option value="7" selected="selected">Yellow</option> </select> 

像上面一樣。

您只需使用.val()方法來實現:

$('#list').val([2,4,7]);

 $('#list').val([2,4,7]); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select multiple="multiple" id="list" name="color"> <option value="1">Red</option> <option value="2">Green</option> <option value="3">Blue</option> <option value="4">Magenta</option> <option value="5">Black</option> <option value="6">Cyan</option> <option value="7">Yellow</option> </select> 

為了完整起見,我想我會添加一個簡單的JavaScript解決方案。

這是我提出的,使用數組,循環, document.querySelectorsetAttribute

 var preSelected = [2,4,7]; for (var i = 0; i < preSelected.length; i++) { var option = document.querySelector('#list option[value="' + preSelected[i] + '"]'); option.setAttribute('selected','selected'); } 
 <select multiple="multiple" id="list" name="color"> <option value="1">Red</option> <option value="2">Green</option> <option value="3">Blue</option> <option value="4">Magenta</option> <option value="5">Black</option> <option value="6">Cyan</option> <option value="7">Yellow</option> </select> 

暫無
暫無

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

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