0

我正在尝试使用 jquerymobile 和 cordova 2.0.0 创建和 android 应用程序。我打算添加 localStorage 它将应用程序的设置保存到 android 存储。现在我正试图强制我的 jquerymobile 选择菜单显示当前保存的值。

示例:假设您有一个由 3 个项目(禁用、启用、兼容模式)组成的菜单(设置),您选择了兼容模式并保存设置。然后变量设置被存储并设置为兼容性。但是当您下次加载设置时,它看起来像菜单(设置)被设置为禁用,因为它是列表中的第一个选项。所以我希望我的程序在设置中显示当前选择和保存的选项。我已经通过使用 body onload 调用 load() 函数来尝试它,该函数将从存储的值中设置 selectedIndex 但它没有工作(可能是我的错误代码)。

所以我需要我的 javascript 来构建选择菜单并更改选项的顺序,但它不起作用。

这是我的 HTML 代码:

<div data-role="content" data-theme="c" id="content">
        <div data-role="fieldcontain" onLoad="load();">
            <label for="transitions" class="select">Prechody:</label>
                <select name="transitions" id="transitions">

                </select>
        </div>      
        <div data-role="fieldcontain">
            <label for="entriesNumber">Počet zobrazovaných príspevkov:</label>
            <input type="range" name="entriesNumber" id="entriesNumber" value="25" min="0" max="35"  />
        </div>
</div>

这是javascript:

function load(){
var select = document.getElementById("transitions");
var option1 = document.createElement("option");
option1.setAttribute("value","vypnute");
option1.innerHTML("Vypnúť");
select.appendChild(option1);
var option2 = document.createElement("option");
option2.setAttribute("value","zapnute");
option2.innerHTML("Zapnúť");
select.appendChild(option2);
var option3 = document.createElement("option");
option3.setAttribute("value","kompatibilita");
option3.innerHTML("Zapnúť v režime kompatibility");
select.appendChild(option3);
}

如果您知道如何使用 selectedIndex ( http://www.w3schools.com/jsref/prop_select_selectedindex.asp ) 或任何其他更清晰的方式执行此操作,请在此处发布。如果没有,请尝试检查我的 JS 代码,以便它可以工作。

4

1 回答 1

0

我想到了。只需要使用此代码:

document.getElementById("selection").selectedIndex = 2/*selected value*/; 
$("#selection").selectmenu('refresh');

此外,如果您使用的是 jquerymobile 滑块(范围),则可以使用此代码更新其值:

$('#slider').val(updatedValue).slider('refresh');
于 2012-09-13T08:07:57.007 回答