我有一个动态构造的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> <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'。
再次感谢。
答案 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");
}