获取bootstrap select对象的id或data-id值(不是选项的id)

时间:2017-04-23 04:15:58

标签: jquery

我有一个动态构造的bootstrap-select对象,其中分配了一个id。

然而,当涉及到获取值...我似乎无法返回bootstrap-select对象的id(或什么成为data-id)值。 (不是在这里谈论所选项目的id,而是在谈论bootstrap-seect对象本身)。

我可以通过以下方式轻松获得所选值:     $(this).val();

使用查询:     $(本)。数据( “ID”) 似乎不起作用。也不:     $(本).attr( '数据-ID')。

我只是'未定义'。

有什么想法吗?

由于

编辑1:

好的,所以试图澄清我想要做的事情:

我首先构建bootstrap-select对象(稍后将其应用于DOM):

var slotNumberDescriber="slotNumber";
buildString+='<select class="selectpicker m3Select" id="'+slotNumberDescriber+'__TFUnitsSelect"><option value="Mins">Mins</option> <option value="Hours">Hours</option></select>';

生成的引导对象的呈现HTML是:

<div style="width: 80px;" class="btn-group bootstrap-select m3Select"><button title="Mins" data-id="slotNumber__TFUnitsSelect" type="button" class="btn dropdown-toggle btn-xs" data-toggle="dropdown" role="button"><span class="filter-option pull-left">Mins</span>&nbsp;<span class="bs-caret"><span class="caret"></span></span></button><div style="min-width: 0px;" class="dropdown-menu open" role="combobox"><ul class="dropdown-menu inner" role="listbox" aria-expanded="false"><li class="selected" data-original-index="0"><a aria-selected="true" aria-disabled="false" tabindex="0" class="" data-tokens="null" role="option"><span class="text">Mins</span><span class="glyphicon glyphicon-ok check-mark"></span></a></li><li data-original-index="1"><a aria-selected="false" aria-disabled="false" tabindex="0" class="" data-tokens="null" role="option"><span class="text">Hours</span><span class="glyphicon glyphicon-ok check-mark"></span></a></li></ul></div><select tabindex="-98" data-style="btn-xs" data-width="auto" class="selectpicker m3Select" id="slotNumber__FUnitsSelect"><option value="Mins">Mins</option> <option value="Hours">Hours</option></select></div>

后来我希望得到所选的值(我可以做)和bootstrap-select对象的id(到目前为止我不能):

$("#SomeParentItem ).find('.m3Select').each(function( index ) {
            var val;
            var key;
            val = $(this).find("option:selected").text();   //this works fine
            key = $(this).data("id");    //this does not work  - produces undefined
            }

...这应该将key =设置为我在最初设置bootstrap-select对象时设置的id('slotNumber__TFUnitsSelect'),而是我得到'undefined'。

再次感谢。

1 个答案:

答案 0 :(得分:0)

当您尝试使用类时,请查看此内容,并看到您的div和select具有相同的类。

所以使用只找到select的选择器,例如

 $("#SomeParentItem").find('select.m3Select').each(function( index ) {
      var val;
      var key;
      val = $("option:selected", this).text();
      key = $(this).attr("id"); 
    }