【发布时间】:2013-09-17 22:43:35
【问题描述】:
我有一个带有表单的 jQuery Mobile 应用程序。 当有人填写表单时,表单有多个表单元素,它存储在 localStorage 中。
填写完一张表格后,您可以在历史记录页面上查找旧表格。 当有人打开旧表单时,需要根据 localStorage 信息填写表单元素。我已经使用第一个下拉列表进行了这项工作,但是当我向页面添加复选框时,只有下拉框会刷新。
我的 JavaScript 代码:
if (key !== "")
{
key = key.replace("?key=", "");
var string = localStorage.getItem(key);
var array = string.split(",");
$("#client option[value='" + array[0] + "']").attr("selected", "selected");
$("#location option[value='" + array[1] + "']").attr("selected", "selected");
$("#locationnumber option[value='" + array[2] + "']").attr("selected", "selected");
$("#turbine_id option[value='" + array[3] + "']").attr("selected", "selected");
$("#turbine_type option[value='" + array[4] + "']").attr("selected", "selected");
$("#turbine_brand option[value='" + array[5] + "']").attr("selected", "selected");
$('select').selectmenu('refresh'); //This is the refresh method
$('#check_maintenance').attr('checked', true);
$('#check_failure').attr('checked', false);
$('#check_inspection').attr('checked', true);
$('#check_warranty').attr('checked', false);
$('#check_assignment').attr('checked', true);
$('#check_reportedbyclient').attr('checked', false);
$('#check_management').attr('checked', true);
$('#check_restpoint').attr('checked', false);
$('#check_report').attr('checked', true);
$('input:checkbox').checkboxradio('refresh'); //This is the refresh method
}
似乎无法在一个函数中刷新两个或多个不同的表单元素。 也许其他人知道正确或更好的方法。
编辑:
感谢您的回答奥马尔。 但问题似乎是,当我刷新我的选择菜单时,其余的功能都没有执行。
这就是我刷新几个 html 菜单的方式
$('select').selectmenu('refresh');
我在这条线下面的所有内容都没有被执行。
【问题讨论】:
标签: forms jquery-mobile refresh elements