2017-04-23 105 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