【发布时间】:2017-05-02 19:04:45
【问题描述】:
我一直在尝试获取我的第二个选择“选定”值,但它总是返回我“”。实际上我在第二个选择中选择了第二个选项。它似乎一直返回给我第一个选项,而不是实际选择的选项。
这是显示的 HTML:
<table class="table table-striped" id="tableButtonsFilter">
<tbody>
<tr id="firstLineFilters">
<td>
<button class="btn btn-glintt btn-circle btn-lg" id="1" name="buttonFilterResultsCabecalho" disabled="">
<i class="icon fa fa-search"></i>
</button>
</td>
<td><button class="btn btn-glintt btn-circle btn-lg" id="1" name="buttonFilterResultsCabecalho" disabled=""> <i class="icon fa fa-search"></i> </button></td>
<td><button class="btn btn-glintt btn-circle btn-lg" id="1" name="buttonFilterResultsCabecalho"> <i class="icon fa fa-search"></i> </button></td>
</tr>
<tr id="secondLineFilters">
<td>
<div class="form-group">
<div class="col-md-4">
<div class="input-group">
<select class="form-control selectFilter" name="filterSelect">
<option value=""></option><option value="1">SGICM</option>
<option value="2">HIS</option>
</select>
</div>
</div>
</div>
</td>
<td>
<div class="form-group">
<div class="col-md-4">
<div class="input-group">
<select class="form-control selectFilter" name="filterSelect">
<option value=""></option>
<option value="3">teste</option>
</select>
</div>
</div>
</div>
</td>
<td></td>
</tr>
</tbody>
</table>
在这张图片中,您可以注意到第二个条目被选中:
我已经尝试过:
$("select[class='form-control selectFilter']:last option:selected").val();
$("select[class='form-control selectFilter']:last option:selected").attr('value');
$("[name='filterSelect']:last").val();
总是得到“”。
如果我尝试:
$("[name='filterSelect']").val();
它将返回“1”
你能帮忙吗?
编辑: 在使用此 HTML 页面在 chrome 控制台上进行测试时,在第一次选择中选择“SGICM”并在第二次选择中选择“teste”后,如果我运行: $("[name='filterSelect']:last").val();
在控制台上,输出将是 ""
EDIT2: 经过一些调试并看到我能够在 jsfiddle 中获得正确的选定值后,得出结论,在注释了一些引导程序和其他使用的模板文件后,选择工作正常。稍后会尝试解决这个问题...
【问题讨论】:
-
你能创建一个jsfiddle吗?
-
最好使用
.form-control.selectFilter来选择类,而不是使用[class=...]。 -
你为什么要尝试获取 :last?
-
您的第一个代码适用于我:jsfiddle.net/barmar/qdo5okvo 当我从第二个菜单中选择
teste时,它会返回3。 -
为什么
1是期望值?最后一个菜单是带有teste的菜单,因此预期值为3。
标签: jquery html jquery-selectors