【发布时间】:2014-02-25 08:11:57
【问题描述】:
所以这是我知道我最初应该问的问题,在这里: How do I get these jQM 1.4 values out of a form with jQuery?
我的问题是 - 我有一个设置面板,允许用户选择年龄、性别和公制或英制单位。我将设置存储在 localStorage 中,每当用户重新打开应用程序时,我都想将它们从 localStorage 中提取出来,以便在应用程序中实现它们。
这是表格
<form style="margin:0;padding:0;width:">
<b>Age</b><br>
<input type="range" data-mini="true" data-highlight="true" name="ageview" id="ageview" min="0" max="99" value="30" >
<p>
<b>Gender</b><br>
<input type="checkbox" data-role="flipswitch" name="genderview" id="genderview" checked="" data-on-text="f" data-off-text="m" data-wrapper-class="custom-label-flipswitch" data-mini="true">
<p>
<b>Units</b><br>
<fieldset data-role="controlgroup" data-mini="true">
<input type="radio" name="unitsview" id="metric_units" value="metric" checked="">
<label for="metric_units">cm & kg</label>
<input type="radio" name="unitsview" id="imp_units" value="imp">
<label for="imp_units">inches & lbs</label>
</fieldset>
</form>
当用户点击保存按钮时,id="newsettings" 这个脚本运行
$("#newsettings").click(function(){
age_set = $("#ageview").val();
gender_set = $("#genderview:checked").length > 0 ? 'f' : 'm';
units_set = $("input[name=unitsview]:checked").val();
settingsObject = { "ageset" : age_set, "genderset" : gender_set, "unitset" : units_set} //put settings in an object
localStorage.setItem('settings', JSON.stringify(settingsObject)); //store string in localSettings}
);
感谢 Jack 在另一个帖子中的帮助。
问题是我不知道如何将这些更改返回到表单中。我唯一能得到工作的就是时代,像这样
$("#ageview").val(age_set);
我都试过了
$("input[name=unitsview]").val(units_set);
和
$("input[name=unitsview]:checked").val(units_set);
什么都不做。
而且我不知道从哪里开始讨论性别。
我不只是要求使用我的表单设置的解决方案。滑块输入显然适用于时代。我的问题是双重的:
- 有没有办法轻松插入保存的值?和
- 如果没有,是否有其他方法可以捕获表单中的这些设置?还有其他更容易操作的控件吗?
【问题讨论】:
标签: jquery forms jquery-mobile