1

我有一个选择按钮,我从数据库中加载各种列表选项。

我将此选择按钮转换为引导程序的选择器。现在,当它呈现它隐藏原始选择选项并创建它自己的视图。

我的选择选项会将 id 呈现为值,并将呈现如下。

<option value="38">option 1</option>

<option value="37">option 2</option>

<option value="36">option 3</option>

但是当我看到引导程序的用户界面时,它将有一个名为 data-original-index 的选项,如下所示

<li data-original-index="1">option 1</li>

<li data-original-index="2">option 2</li>

<li data-original-index="3">option 3</li>

这与我的原始选项无关,当我获取所选选项的值时,上面的渲染给我带来了问题。

有没有办法用我原来的选项值来渲染 data-original-index 的值???欢迎任何建议!

4

1 回答 1

2

您可以将 onchange 事件附加到原始选择。Bootstrap 与该选择相关联。因此,如果您从引导程序选择中选择一个选项,它将允许您检索所选值。

$(this).find("option:selected").attr("value");此行查找选定的选项并返回属性value

看这个例子:

$(function() {

  $('.selectpicker').on('change', function(){
    var selected = $(this).find("option:selected").attr("value");
    alert(selected);
  });
  
});
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.3/css/bootstrap-select.css" rel="stylesheet"/>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.3/js/bootstrap-select.js"></script>

<select class="selectpicker">
   <option value="38">option 1</option>
   <option value="37">option 2</option>
   <option value="36">option 3</option>
</select>

于 2015-03-09T21:03:41.693 回答