2016-08-01 179 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

還沒有工作。 –