2016-08-01 6 views
0

マルチ選択jqueryプラグインを使用しています。いくつかのオプションをランダムに選択したいと思います。私はマルチセレクトを正しくランダム化していますが、私のマルチセレクトは選択したアイテムを表示していません。 document.readyで同じコードを使用するとうまくいきますが、ボタンイベントでマルチセレクタを使用しても選択項目が表示されません。jqueryで複数選択オプションがリフレッシュされない

何が問題ですか?ここで

$(document).ready(function(){ 
    $('#my-select').searchableOptionList(); 
    $(document).on("click", ".btn-primary", function() { 
     var count=$(this).attr("data-random-max"); 
     randomElements = jQuery("#my-select option").get().sort(function(){ 
      return Math.round(Math.random())-0.5 
     }).slice(0,count); 
     var vals = new Array(); 
     $(randomElements).each(function(){ 
      vals.push($(this).val()); 
     }); 
     $("#my-select").val(vals); 
     $("#my-select").multiselect("refresh"); 
    }); 
}); 

は私のマルチセレクトコードです:

<select style="margin-top: 20px; display: none;" multiple="multiple" id="my-select"> 
    <optgroup label="ساده"> 
    </optgroup> 
    <optgroup label="متوسط"> 
     <option value="1">سیب</option> 
     <option value="3">آیا در انجام مسیولیت کوشا هستید؟</option> 
    </optgroup> 
    <optgroup label="سخت"> 
     <option value="7">آیا آماده است؟</option> 
    </optgroup> 
</select> 

と私vals変数が1,3,7です。

ありがとうございました。

答えて

0

は、トリックに持っている..私はそれが

$( '私のセレクト#')複数選択( '選択'、ヴァルス)を作品願っています。;

私はテストしていないので、それが動作するかどうかはわかりません。

+0

。 –

+0

私の編集した答えで試してみてください。$( '#my-select')。multiselect( 'select'、vals); –

+0

ここにはマルチセレクションライブラリ用のドキュメントがあります。http://davidstutz.github.io/bootstrap-multiselect/#methods –

0

は、私はあなたがやろうとしているのか分からないが、これは選択

$(document).on("click", ".btn-primary", function() { 
     var count=$(this).attr("data-random-max"); 
     var len = $("#my-select option").length; 
     for (var i = 0;i < count;i++) { 
     var index = Math.floor(Math.random()*len) + 1; 
     $("#my-select option").eq(index).attr('selected','selected'); 
     } 

     $("#my-select").multiselect("refresh"); 
    }); 

デモからランダム要素を選択する必要があります。まだ動作していないhttps://jsfiddle.net/h86zdg57/

+0

まだ動作していません。 –

関連する問題