我正在使用rails中的select_tag和bootstrap多选功能。我能够显示选项。但是如何在页面加载时使用jquery选择选项。
选择标签代码
<%= select_tag 'test', options_from_collection_for_select(@test, "id", "name"), :class => "form-control", :multiple => "multiple" %>
$('#test').multiselect({
includeSelectAllOption: true,
enableFiltering:true
});
当我使用
时 $("#test").val(["some_value_of_option", "some_value_of_option"]).prop("selected", true);
以上代码无法选择选项。 在此先感谢您的帮助..
答案 0 :(得分:1)
为什么不在没有jQuery的情况下直接使用HTML?
<form>
<select multiple="multiple" id="test" class="multiselect">
<option value="one">One</option>
<option value="two">Two</option>
<option value="three" selected>Three</option>
<option value="four" selected>Four</option>
<option value="five">Five</option>
</select>
</form>
如果你真的需要使用jQuery,我们可以扩展Madalin的答案当然是为了更新视图:
$("#test").find('option[value="cheese"]').prop("selected", true);
$("#test").find('option[value="mozarella"]').prop("selected", true);
// Don't forget to update view
$("#test").multiselect('refresh');
答案 1 :(得分:1)
我们可以将数组形式的选定值作为options_from_collection_for_select的第三个参数传递。
如, options_from_collection_for_select(@test,“id”,“name”,[“1”,“2”,“3”])
答案 2 :(得分:0)
使用find
和属性选择器选择值为
尝试以下方法:
$("#test").find('option[value="some_value_of_option", option[value="some_value_of_option"]').prop("selected", true);