Jquery mobile 在JQuery Mobile中在页面之间传递滑块值
我正在尝试在页面之间传递表单滑块值,以便在目标页面中使用更改的设置。为此,我只是在同一个页面上访问DOM,正如答案中所解释的那样 以下是我的示例代码:Jquery mobile 在JQuery Mobile中在页面之间传递滑块值,jquery-mobile,slider,Jquery Mobile,Slider,我正在尝试在页面之间传递表单滑块值,以便在目标页面中使用更改的设置。为此,我只是在同一个页面上访问DOM,正如答案中所解释的那样 以下是我的示例代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1">
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Multi-page template</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script>
$(document).on('pageinit', '#review', function() {
$('form').submit(function() {
first_count = $('#first_slider').val();
second_count = $('#second_slider').val();
$.mobile.changePage('#front');
return false;
});
});
$(document).on('pageinit', '#front', function() {
$('#first_count').text('' + first_count);
$('#second_count').text('' + second_count);
});
</script>
</head>
<body>
<!-- ======================== -->
<div data-role="page" id="review" data-theme="a">
<div data-role="header">
<h1>Review</h1>
</div>
<p>
Review content
</p>
<div data-role="content" data-theme="a">
<form>
<label for="first_slider">First:</label>
<input type="range" id="first_slider" value="60" min="0" max="100" />
<label for="second_slider">Second:</label>
<input type="range" id="second_slider" value="60" min="0" max="100" />
<input type="submit" value="Submit" />
</form>
</div>
</div>
<!-- ======================== -->
<div data-role="page" id="front" data-theme="a">
<div data-role="header">
<h1>Front</h1>
</div>
<div data-role="content" data-theme="a">
<p>
Front content
</p>
<p id='first_count'></p>
<p id='second_count'></p>
<p>
<a href="#review" data-role="button">Main</a>
</p>
</div>
</div>
</body>
</html>
多页模板
$(文档)。on('pageinit','#review',function(){
$('form')。提交(函数(){
first_count=$('#first_slider').val();
second_count=$('#second_slider').val();
$.mobile.changePage(“#front”);
返回false;
});
});
$(文档).on('pageinit','#front',function(){
$('first#u count')。文本(''+first_count);
$('second_count')。文本(''+second_count);
});
复习
复习内容
第一:
第二:
正面
封面内容
这似乎是第一次工作,更改后的设置将显示在“首页”上,但不会显示在后续页面调用上。我尝试了除“pageinit”之外的其他JQM页面事件,但无法使其正常工作。我使用了您的示例并使其正常工作。我用的是文件 表单按钮 为了简化样式,框架会自动转换任何按钮 或将类型为submit、reset或button的元素输入到自定义 样式化按钮-无需添加数据role=“button” 属性但是,如果需要,可以直接调用按钮插件 在任何选择器上,就像任何jQuery插件一样:
$('[type="submit"]').button();
这就产生了这个脚本
<script>
$('[type="submit"]').bind( "click", function() {
first_count = $('#first_slider').val();
second_count = $('#second_slider').val();
$('#first_count').text('' + first_count);
$('#second_count').text('' + second_count);
$.mobile.changePage('#front');
return false;
});
</script>
$('[type=“submit”]')。绑定(“单击”,函数(){
first_count=$('#first_slider').val();
second_count=$('#second_slider').val();
$('first#u count')。文本(''+first_count);
$('second_count')。文本(''+second_count);
$.mobile.changePage(“#front”);
返回false;
});
示例的完整更正版本:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Multi-page template</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<div data-role="page" id="review" data-theme="a">
<div data-role="header">
<h1>Review</h1>
</div>
<p>
Review content
</p>
<div data-role="content" data-theme="a">
<form>
<label for="first_slider">First:</label>
<input type="range" id="first_slider" value="60" min="0" max="100" />
<label for="second_slider">Second:</label>
<input type="range" id="second_slider" value="60" min="0" max="100" />
<input type="submit" value="Submit" />
</form>
</div>
</div>
<!-- ======================== -->
<div data-role="page" id="front" data-theme="a">
<div data-role="header">
<h1>Front</h1>
</div>
<div data-role="content" data-theme="a">
<p>
Front content
</p>
<p id='first_count'></p>
<p id='second_count'></p>
<p>
<a href="#review" data-role="button">Main</a>
</p>
</div>
<script>
$(document).bind('pageinit');
</script>
</div>
<script>
$('[type="submit"]').bind( "click", function() {
first_count = $('#first_slider').val();
second_count = $('#second_slider').val();
$('#first_count').text('' + first_count);
$('#second_count').text('' + second_count);
$.mobile.changePage('#front');
return false;
});
</script>
</body>
</html>
多页模板
复习
复习内容
第一:
第二:
正面
封面内容
$(document.bind('pageinit');
$('[type=“submit”]')。绑定(“单击”,函数(){
first_count=$('#first_slider').val();
second_count=$('#second_slider').val();
$('first#u count')。文本(''+first_count);
$('second_count')。文本(''+second_count);
$.mobile.changePage(“#front”);
返回false;
});
屏幕截图谢谢。如果你像[]中描述的那样将代码绑定到“pageinit”中,主题样式就可以正常工作。另一件事是,根据你的评论和文档,button()是多余的。不确定你的绑定是如何工作的!但是我们假设事件有一个给定的函数,因为我们可能想要绑定到不同的事件。我相应地修改了。