我认为我的Select / Options标签有问题...我无法访问所选的选项。
这是HTML部分:
<select id="filter">
<option value="value1" selected="selected" data-path="property1">option1</option>
<option value="value2" data-path="property2">option2</option>
</select>
我试过这种方式:
var property_filter = document.getElementById('filter');
在调试时,在控制台上,这就是我尝试过的:
input: property_filter.options
output: [<option value="value1" selected="selected" data-path="property1">option1</option>,<option value="value2" data-path="property2">option2</option>]
所以它抓住了正确的选择标签......但是有些事情仍然是错误的:
input: property_filter.selectedIndex
output: -1
类似的,当我使用JQuery选择器来找到它时,我没有得到我想要的东西。
input: $('#filter').find('option')
output: [<option value="value1" selected="selected" data-path="property1">option1</option>, <option value="value2" data-path="property2">option2</option>]
input: $('#filter').find('option:selected')
output: []
我一定做错了什么......这也是一项如此简单的任务。我也尝试使用&#39;选择&#39;,而不是&#39;选择=&#34;选择&#34;&#39;但我得到了同样的结果。
我顺便在OS 10.6.8上使用Chrome,并且在Backbone View&amp; QUnit测试(但它不重要,对吧?)。此外,此代码在QUnit之外工作。
答案 0 :(得分:0)
尝试
console.log($(this).find('#filter option:selected'));
答案 1 :(得分:0)
在我尝试获取索引之前,我将索引设置为2,(noob wrong !!),它将索引设置为超出范围的索引。这就是为什么我一直把-1作为索引。
JQuery或selectedIndex或我尝试过的任何方法没有任何问题+我应该进一步调试。