jquery移动数据在节之间传输
我在做基于JQM和JQM的移动网站 如果在“dialogPage”部分的搜索结果中单击“提交”按钮, 它应该显示在zip1、zip2、addr表单的“主页”部分 但是zip_code1、zip_code2、addr的形式值 未转换到“主页”部分 这个脚本有什么问题 这里是完整的脚本+htmljquery移动数据在节之间传输,jquery,mobile,Jquery,Mobile,我在做基于JQM和JQM的移动网站 如果在“dialogPage”部分的搜索结果中单击“提交”按钮, 它应该显示在zip1、zip2、addr表单的“主页”部分 但是zip_code1、zip_code2、addr的形式值 未转换到“主页”部分 这个脚本有什么问题 这里是完整的脚本+html <!DOCTYPE html> <html> <head> <title>Test Dialog</title> <meta chars
<!DOCTYPE html>
<html>
<head>
<title>Test Dialog</title>
<meta charset="utf-8" />
<meta name="viewport" content="height=device-height,width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
$('form').submit(function(){
var inputVal1 = $('input[name=zip_code1]').val();
var inputVal2 = $('input[name=zip_code1]').val();
var inputVal3 = $('input[name=addr]').val();
$("#mainPage").data("inputVal1", inputVal1);
$("#mainPage").data("inputVal2", inputVal2);
$("#mainPage").data("inputVal3", inputVal3);
})
});
$('#mainPage').live('pageshow', function(){
var inputVal1 = $(this).data('inputVal1') ? $(this).data('inputVal1') : "<? $defaultValue1 ?>";
var inputVal2 = $(this).data('inputVal2') ? $(this).data('inputVal2') : "<? $defaultValue2 ?>";
var inputVal3 = $(this).data('inputVal3') ? $(this).data('inputVal3') : "<? $defaultValue3 ?>";
$('div input[name=zip1]').val(inputVal1);
$('div input[name=zip2]').val(inputVal2);
$('div input[name=addr]').val(inputVal3);
});
</script>
<section id="mainPage" data-role="page">
<header data-role="header"><h1>Header</h1></header>
<div data-role="content">
<div>
<input type="text" name="zip1" value="">-<input type="text" name="zip2" value="">
<input type="text" name="addr" value="">
</div>
<a href="#dialogPage" data-role="button" data-transition="pop">Open Dialog</a>
</div>
<footer data-role="footer"><h1>Footer</h1></footer>
</section>
<!-- ## DIALOGS ## -->
<section id="dialogPage" data-role="dialog" data-theme="d">
<header data-role="header"><h1>Header</h1></header>
<div data-role="content">
<h3>Input Dialog</h3>
<INPUT type="text" autocomplete="off" value="" id="k"><input type="submit" value="search" onClick="kin()" data-role="button">
<DIV id="serverMsg"></DIV>
<form>
<input type=hidden name=zip_code1 value='code1'>
<input type=hidden name=zip_code2 value='code2'>
<input type=hidden name=addr value='address1'>
<table><tr>
<td width=50>code1 - code2</td>
<td>address1</td>
</tr></table>
<input type="submit" value='address1' />
</form>
<form>
<input type=hidden name=zip_code1 value='code4'>
<input type=hidden name=zip_code2 value='code5'>
<input type=hidden name=addr value='address2'>
<table><tr>
<td width=50>code4 - code5</td>
<td>address2</td>
</tr></table>
<input type="submit" value='address2' />
</form>
<form>
<input type=hidden name=zip_code1 value='code6'>
<input type=hidden name=zip_code2 value='code7'>
<input type=hidden name=addr value='address2'>
<table><tr>
<td width=50>code6 - code7</td>
<td>address3</td>
</tr></table>
<input type="submit" value='address3' />
</form>
</div>
</div>
<footer data-role="footer"></footer>
</section>
</body>
</html>
测试对话框
$(文档).ready(函数(){
$('form')。提交(函数(){
var inputVal1=$('input[name=zip_code1]')。val();
var inputVal2=$('input[name=zip_code1]')。val();
var inputVal3=$('input[name=addr]')。val();
$(“#主页”)。数据(“inputVal1”,inputVal1);
$(“#主页”)。数据(“inputVal2”,inputVal2);
$(“#主页”)。数据(“inputVal3”,inputVal3);
})
});
$(“#主页”).live('pageshow',function(){
var inputVal1=$(this.data('inputVal1')?$(this.data('inputVal1'):“”;
var inputVal2=$(this.data('inputVal2')?$(this.data('inputVal2'):“”;
var inputVal3=$(this.data('inputVal3')?$(this.data('inputVal3'):“”;
$('div input[name=zip1]').val(inputVal1);
$('div input[name=zip2]').val(inputVal2);
$('div input[name=addr]').val(inputVal3);
});
标题
-
页脚
标题
输入对话框
代码1-代码2
地址1
代码4-代码5
地址2
代码6-代码7
地址3
使用attr
方法,data()
方法不创建data
属性
$(document).ready(function() {
$('form').submit(function(){
var inputVal1 = $('input[name=zip_code1]').val();
var inputVal2 = $('input[name=zip_code1]').val();
var inputVal3 = $('input[name=addr]').val();
$("#mainPage").attr("data-inputVal1", inputVal1);
$("#mainPage").attr("data-inputVal2", inputVal2);
$("#mainPage").attr("data-inputVal3", inputVal3);
...
谢谢我改为$(“#主页”).attr(“数据输入值1”,输入值1)$(“主页”).attr(“数据输入值2”,输入值2)$(“主页”).attr(“数据输入值3”,输入值3);但我仍然没有从“对话页面”部分返回valuse。我想“dialogPage”上有一些问题。@undefined,我可以要求看一下吗?关于不同主题的jquery问题。我不知道SE是否允许这样的评论?@paulycho不客气,你在一个页面上有3个表单元素,用一个表单试试。如果我只做了一个表单,那么它就可以了。但问题是“dialogPage”的搜索结果是多个的(应该有很多表单)。当返回到“主页”时,如何将每个结果标识为唯一值?