多选择选项不刷新与jquery
问题描述:
我正在使用多选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。
谢谢。
答
对招..我希望它的工作原理
$( '#我选')多选( '选择',丘壑)。
我不确定它是否有效,因为我没有测试。
答
我不知道你正在尝试做的,但这应该从选择
$(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
还没有工作。 –
还没有成型。 –
尝试使用我编辑的答案$('#my-select')。multiselect('select',vals); –
这里为多选库提供的文件.. http://davidstutz.github.io/bootstrap-multiselect/#methods –