JS下拉指数没有变化

时间:2012-12-28 15:20:35

标签: javascript jquery-mobile html-select

我在Javascript中有一个下拉菜单我正在尝试以编程方式更改,但它不合作。首先,框中的文本仍然是第一个选项。如果我点击它以关闭下拉列表,那么我会看到我设置的索引突出显示。但是,我无法选择该选项,但我可以在菜单中选择任何其他选项。这是我在$(document).ready上使用的代码:

document.getElementById("filteredSubDropdown").selectedIndex = localStorage["currentMonth"];

编辑:创建下拉列表的一些HTML

<div data-role="content" id="box">
    <ul data-role="listview" data-inset="true" id="merchAccountDetails" data-theme="b" data-content-theme="b">
        <div data-role="content">
            <div id="firstDrop">
                <center><font size="4" color="Green" face="times new roman">Filter Data by:</font></center>
                <select id="filterByDropdown">
                </select>
            </div>
            <center><font size="4" color="Green">Filter Data by month:</font></center>
            <select id="filteredSubDropdown">
            </select>
            </center>
            <center><font size="4" color="Green">Filter Data by Account:</font><br>
            </center>
            <center>
            <select id="accountDropdown">
            </select>
            </center>
        </div>
        <div id="chicken">
            <center><img src="spin.gif" alt="loading.."/>Loading Data...</center>
        </div>
        <p id="finInfo">
        </p>
        <br/>
    </ul>
</div>

2 个答案:

答案 0 :(得分:2)

建议:

  1. 您是否尝试提供一个号码并检查它是否正常工作?
  2. localStorage["currentMonth"]的价值是什么?
  3. 尝试以这种方式更改代码:

    document.getElementById("filteredSubDropdown")
                               .selectedIndex = localStorage.getItem("currentMonth");
    

答案 1 :(得分:0)

我同意Praveen Kumar的回答。否则,如果你可以使用jquery,

$("#filteredSubDropdown").attr('selectedIndex', localStorage.getItem("currentMonth"));

确保在元素加载后运行javascript,以便选择器不返回null。

另外,请确保正确定位您定位的ID,区分大小写。

此外,请确保您定位的选择元素实际上具有您要选择的选项。

根据您之前的大多数编辑,您似乎正在尝试定位select元素没有的选项。您是否尝试将此选项添加到下拉框中?