Jquery chosen動態設定值 select Ajax動態載入資料 設定chosen和擷取他們選中的值

來源:互聯網
上載者:User

Jquery chosen動態設定值 select Ajax動態載入資料 設定chosen和擷取他們選中的值


在做一個編輯對話方塊時,要對裡面帶有select option的操作。主要是想動態載入option和對option的選中。但是由於項目中使用了jquery裡的chosen()方法,怎麼也無法實現效果。原碼如下:

 

 

Java代碼
  1. 簡體中文(簡體中文 Chinese)English(英語 English)fran?ais(法語 French)Deutsch(德語 German)italiano(意大利語 Italian)espa?ol(西班牙語 Spanish)русский(俄語 Russian)日本語(日語 Japanese)???(韓語 Korean)
  2.  
  3.  
  4. 簡體中文(簡體中文 Chinese)English(英語 English)fran?ais(法語 French)Deutsch(德語 German)italiano(意大利語 Italian)espa?ol(西班牙語 Spanish)русский(俄語 Russian)日本語(日語 Japanese)???(韓語 Korean)

     

    在引用的js檔案中使用了這樣的代碼:

     

    Js代碼
    1. //chosen - improves select
    2. $('[data-rel="chosen"],[rel="chosen"]').chosen();

       

      然後在自己的私人js檔案中怎麼對select進行任何操作都沒有效果:

       

      Js代碼
      1. // $("#viewTLanguage option: selected").attr("value", language);
      2. $("#viewTLanguage option[value='"+language+"']").attr("selected","selected");
      3.  
      4. jquery.append(option);

         

        於是在網上尋找一些解決辦法,偶然看了幾篇文章,頓時好像明白一點什麼。

        其實完全可以在使用jquery的chosen()方法前進行操作,然後再進行chosen的方法。

         

        Js代碼
        1. $("#viewOLanguage option[value='"+oLanguage+"']").attr("selected","selected");
        2. $("#viewOLanguage").chosen();

           

          並且在select中去掉“data-rel="chosen"”,這樣一來,就能實現select相應項的選中了,同樣,append方法也會效果。

           

          在網上還有一種說法是使用$("#jquery").chonse("destroy"),我也試了下,不過沒有成功。

           

          另外還可以試試這個:

           

           

          Js代碼
          1. jQuery Chosen.destroy().init()

             

            重新執行個體化的方法。

             

            ps:這篇文章之前有不完善的地方,所說的解決辦法只解決了初始問題,卻沒有考慮到後續載入的事情。所以 ,還需要用這段代碼:

             

            Js代碼
            1. $("#dialogOLanguage").trigger("liszt:updated"); //項目中可以使用

              或者是新版本的中的

               

              Js代碼
              1. $("#dialogOLanguage").trigger("chosen:updated"); //可能是因為只能在新版本中使用的原因,項目中沒效果

                 

                這樣可以解決同一select不斷動態載入的問題。

                 

                另,destroy的方法還是沒有實驗成功。

                 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.