如何设置从引导选择使用selectpicker插件选择的值

问题描述 投票:83回答:16

我使用的是Bootstrap-Select插件是这样的:

HTML:

<select name="selValue" class="selectpicker">
   <option value="1">Val 1</option>
   <option value="2">Val 2</option>
   <option value="3">Val 3</option>
   <option value="4">Val 4</option>
</select>

使用Javascript:

$('select[name=selValue]').selectpicker();

现在,我想设置选择这个值来选择当按钮点击......是这样的:

$('#mybutton').click(function(){
   $('select[name=selValue]').val(1);
});

但没有任何反应。

我怎样才能做到这一点?

jquery twitter-bootstrap bootstrap-select
16个回答
127
投票

该值是正确选择,但你没有看到它,因为插件隐藏了真正的选择,并显示出与无序列表按钮,所以,如果你希望用户看到你可以做这样的事情的选择所选择的值:

//Get the text using the value of select
var text = $("select[name=selValue] option[value='1']").text();
//We need to show the text inside the span that the plugin show
$('.bootstrap-select .filter-option').text(text);
//Check the selected attribute for the real select
$('select[name=selValue]').val(1);

Edit:

像@blushrt指出,更好的解决方案是:

$('select[name=selValue]').val(1);
$('.selectpicker').selectpicker('refresh')

Edit 2:

要选择多个值,值传递作为数组。


0
投票
$('.selectpicker').selectpicker('val', '0');

随着“0”作为该项目的价值,你想选择


0
投票

那么另一种方式来做到这一点是,与此关键字,你可以简单地获取对象在此,操纵它的价值。例如:

$("select[name=selValue]").click(
    function() {
        $(this).val(1);
    });

0
投票

此外,你可以调用这个多值

$(<your select picker>).selectpicker("val", ["value1", "value2"])

你可以找到更多在这里https://developer.snapappointments.com/bootstrap-select/methods/


0
投票

基于@blushrt的伟大答案,我会更新这个响应。刚开始使用 -

$("#Select_ID").val(id);

如果你已经预装您需要选择一切正常。


0
投票
$('.selectpicker option:selected').val();

只要把选项:选择中获取价值,因为引导selectpicker变化和出现在diferent方式。但选择仍然有选择


0
投票
$('.selectpicker').selectpicker("val", "value");

-1
投票

用户ID对于元件,然后

document.getElementById('selValue').value=Your Value;
$('#selValue').selectpicker('refresh');

-3
投票

用这个和它的要去工作:

 $('select[name=selValue]').selectpicker('val', 1);

61
投票
$('select[name=selValue]').val(1);
$('.selectpicker').selectpicker('refresh');

这是所有你需要做的。无需直接改变selectpicker的生成html,只是改变了隐藏的选择字段,然后调用selectpicker(“刷新”)。


41
投票
$('.selectpicker').selectpicker('val', YOUR_VALUE);

15
投票

如果用于设定值,see fiddle的“VAL” -parameter无需刷新。用括号内的数值,以使多个选择的值。

$('.selectpicker').selectpicker('val', [1]); 

9
投票
$('#mybutton').click(function(){
   $('select[name=selValue]').val(1);
   $('select[name=selValue]').change();
});

这为我工作。


7
投票

其实你的值设置,但您的selectpicker不会刷新

你可以从文件读取 https://silviomoreto.github.io/bootstrap-select/methods/#selectpickerval

正确的方式做,这将是

$('.selectpicker').selectpicker('val', 1);

对于多个值,您可以添加值数组

$('.selectpicker').selectpicker('val', [1 , 2]);

3
投票

您可以通过调用元素的VAL方法设置选定的值。

$('.selectpicker').selectpicker('val', 'Mustard');
$('.selectpicker').selectpicker('val', ['Mustard','Relish']);

这将选择在一个多选的所有项目。

$('.selectpicker').selectpicker('selectAll');

详情可上网站:https://silviomoreto.github.io/bootstrap-select/methods/


2
投票
var bar= $(#foo).find("option:selected").val();

1
投票

blushrt的回答当你没有一个微小的变化“硬编码”选项的值(即1,2,3,4等)

比方说,你渲染选项的值是一些用户的GUID的一个<select>。然后,你将需要以某种方式提取,以将其设置在<select>期权的价值。

在下文中,我们选择了选择的第一个选项。

HTML:

<select name="selValue" class="selectpicker">
   <option value="CD23E546-9BD8-40FD-BD9A-3E2CBAD81A39">Dennis</option>
   <option value="4DDCC643-0DE2-4B78-8393-33A716E3AFF4">Robert</option>
   <option value="D3017807-86E2-4E56-9F28-961202FFF095">George</option>
   <option value="991C2782-971E-41F8-B532-32E005F6A349">Ivanhoe</option>
</select>

使用Javascript:

// Initialize the select picker.
$('select[name=selValue]').selectpicker();

// Extract the value of the first option.
var sVal = $('select[name=selValue] option:first').val();

// Set the "selected" value of the <select>.
$('select[name=selValue]').val(sVal);

// Force a refresh.
$('select[name=selValue]').selectpicker('refresh');

我们用这个在选择与多个关键字<select multiple>。在这种情况下,没有什么是每默认选中的,但我们想的第一个项目总是被选中。

© www.soinside.com 2019 - 2024. All rights reserved.