0

我在尝试以编程方式更改的 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>
4

2 回答 2

2

建议:

  1. 您是否尝试提供一个数字并检查它是否有效?
  2. 的价值是localStorage["currentMonth"]多少?

尝试以这种方式更改代码:

document.getElementById("filteredSubDropdown")
                           .selectedIndex = localStorage.getItem("currentMonth");
于 2012-12-28T15:23:38.710 回答
0

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

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

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

还要确保您的目标 id 输入正确,区分大小写。

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

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

于 2012-12-28T15:58:27.873 回答