我正在尝试使用jquerymobile和cordova 2.0.0创建和Android应用程序。我打算添加localStorage,它会将app的设置保存到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代码,以便它可以工作。
答案 0 :(得分:0)
我明白了。只需要使用这段代码:
document.getElementById("selection").selectedIndex = 2/*selected value*/;
$("#selection").selectmenu('refresh');
此外,如果您使用的是jquerymobile滑块(范围),则可以使用此代码更新其值:
$('#slider').val(updatedValue).slider('refresh');