2017-04-23 81 views
0

我有一个动态构建的引导选择对象,并分配了一个id。获取引导选择对象(不是选项的ID)的id或data-id值

但是,当涉及到获取值...我似乎无法返回引导选择对象的id(或什么成为data-id)值。 (不是在说这里选择的项目的id,而是自举对象本身)。

我可以很容易地得到选定的值: $(this).val();

使用查询: $(this).data(“id”) 似乎不起作用。非: $(this).attr('data-id')。

我只得到'undefined'。

任何想法?

感谢

编辑1:

好了,试图澄清我想要做的事:

我先建自举选对象(后来被应用到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> 

后来我想同时获得选择的值(这是我能做到),和自举选对象的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

你可以张贴一些代码,在其中添加选择和你在哪里试图读取属性值 – Krishna

回答

0

看到这个你正在尝试一个类,并看到你的div和选择具有相同的类。

,以便与该发现只是选择一个选择工作,例如

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

感谢您的评论,请参阅我的编辑澄清问题 – FunkyOne

+0

编辑,尝试使用这一个 – xploshioOn