选择选项 - 无法选择选项

时间:2012-11-02 01:00:10

标签: javascript html qunit selectedindex

我认为我的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之外工作。

2 个答案:

答案 0 :(得分:0)

尝试

console.log($(this).find('#filter option:selected'));

答案 1 :(得分:0)

啊,抱歉。我发现了为什么事情不起作用。就像Peter Wilkinson所说,这是我介绍的一个错误。

在我尝试获取索引之前,我将索引设置为2,(noob wrong !!),它将索引设置为超出范围的索引。这就是为什么我一直把-1作为索引。

JQuery或selectedIndex或我尝试过的任何方法没有任何问题+我应该进一步调试。