1 回答

TA貢獻1793條經驗 獲得超6個贊
如果您知道只有select#vans
需要突出顯示的部分,則無需遍歷所有 Select2 jQuery 項。此外,您highlightSelect2
沒有使用selector
您傳入的內容。
使用您的代碼示例,我對其進行了修改,以便只有該#vans
元素將通過以下方式突出顯示:
不迭代所有
select2
元素(使用.each
)這讓您只能
#vans
直接突出顯示,修改
highlightSelect2
以使用傳入的selector
刪除
isMultiple
邏輯——沒有必要
<!DOCTYPE html>
<html>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
<select name="cars" class="mySelect" id="cars" multiple>
<option value="volvo">Cars</option>
</select>
<select name="vans" class="mySelect" id="vans">
<option value="volvo">Vans</option>
</select>
<script>
function highlightSelect2(selector) {
$(selector)
.next('.select2-container')
.find(".select2-selection")
.effect("highlight", {
color: '#f88'
}, 10000);
}
$(document).ready(function() {
//initilize select2
$('.mySelect').select2( { width: "25%" });
// highlight the #vans select2
highlightSelect2("#vans");
});
</script>
</body>
運行代碼片段,您會看到它按照您對特定示例的預期運行。
添加回答
舉報