亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

突出顯示將 id 選擇器傳遞給函數的特定 select2

突出顯示將 id 選擇器傳遞給函數的特定 select2

慕森王 2023-04-01 17:31:48
我只需要突出顯示#vans 而不是#cars有時 #vans 可以是多個,有時也可以是非多個。但是我必須能夠專門通過 ID 選擇器來突出顯示選擇。下面是使用突出顯示方法和使用 css 選擇器答案突出顯示 select2 的代碼<!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, isMultiple) {  var isWhat = isMultiple ? '--multiple' : '__rendered'  $('.select2-selection' + isWhat).effect("highlight", {    color: '#f88'  }, 10000);}$(document).ready(function() {  //initilize select2  $('.mySelect').select2();  $('.mySelect').each(function(index, element) {    let prop = $(element).prop('multiple')    prop ? highlightSelect2("#vans",prop) : highlightSelect2("#vans")  })});</script>    </body></html>
查看完整描述

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>

運行代碼片段,您會看到它按照您對特定示例的預期運行。



查看完整回答
反對 回復 2023-04-01
  • 1 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號