我正在使用 jQuery mobile 制作 web 应用程序,但是在让插件一起工作时遇到了一些问题。我知道为什么会这样,但我无法解决它...
因此,在我的网络应用程序中,我选择了带有http://andymatthews.net自动完成插件的项目。选择项目后,我将一些数据放在 localStorage 中。项目名称,ID等...
然后在选择项目后我有一些不同的表单,我使用jQuery 表单插件提交。我使用 PHP 访问 Mysql 数据库,所以我通过 jQuery 表单插件从本地存储中发布表单信息和一些变量。(我用这个,因为我也通过一些表格上传图片..)
所以,问题是,jQuery 表单插件需要放在 $(document).ready(function(){}) 中,并且只有在页面加载后才会生成数据,但是每次我从自动完成中选择新项目时我都会更改 localStorage 数据场地。因此,每次从列表中选择另一个项目时,我都需要重新启动应用程序,以将带有表单字段变量的 localStorage 变量传递给 PHP。我试图将 jQuery 表单插件放置到 $("#page").live("pageshow", function(){}) 但是插件不起作用......
这是问题的示例:
顺便说一句,对不起我的语言,但无论如何,谢谢你的建议......
$(document).ready(function() {
$('#innregulering_form').ajaxForm({
beforeSubmit: function(){
$.mobile.loading('show')},
data: ({project_id: localStorage.project_id,
project_prefix : localStorage.project_prefix}),
dataType: 'json',
failure: function(data) {
show_message('#innregulering_header', 'Can not save!', 'red')},
success: function(data) {
load_innregulering(data.apartament_id);
$.mobile.loading('hide');
$('#pop_innregulering_file_place').html('<b>File plased at:</b>' + data.file_patch + '</br><b>File name is: </b>' + data.file_name + '</br><b>File size is: </b>' + data.file_size + ' KB');
$('#tmp_pdf_file').val(data.file_name);
$("#wiev_innregulering_pdf_popup").popup( "open", {transition: "pop"})}
});
});
$("#select_project").live("pageshow", function(event, ui) {
if (localStorage.project_search){autocompleteData = JSON.parse(localStorage.project_search);} else {autocompleteData = '';}
$("#project_search").autocomplete({
target: $('#suggestions'),
source: autocompleteData,
link: '#project_home?',
minLength: 1,
matchFromStart: false,
callback: function(e) {
var $project = $(e.currentTarget); // access the selected item
var project_name = $project.data('autocomplete').label;
var project_prefix = $project.data('autocomplete').prefix;
var project_id = $project.data('autocomplete').project_id;
localStorage.setItem('project', project_name);
localStorage.setItem('project_prefix', project_prefix);
localStorage.setItem('project_id', project_id);}
});
});