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

还没有工作。 –