Jquery mobile 添加一个JQM“;你确定吗?”;对话框提示我的Jquery手机弹出框
我有一个这样的jQuery Mobile弹出框(见下面的代码),需要在每个选项中添加一个对话框,提示“确定吗?”确定或取消: (注意:我临时删除了所有选项,除了第一个使代码更干净的选项)Jquery mobile 添加一个JQM“;你确定吗?”;对话框提示我的Jquery手机弹出框,jquery-mobile,Jquery Mobile,我有一个这样的jQuery Mobile弹出框(见下面的代码),需要在每个选项中添加一个对话框,提示“确定吗?”确定或取消: (注意:我临时删除了所有选项,除了第一个使代码更干净的选项) 地位 选择一个操作: 以下是对话框的代码,但我不确定如何将其与上述代码“集成”: <div data-role="content" data-theme="d" class="ui-corner-bottom ui-content"> <h3 class="ui-title">
地位
选择一个操作:
以下是对话框的代码,但我不确定如何将其与上述代码“集成”:
<div data-role="content" data-theme="d" class="ui-corner-bottom ui-content">
<h3 class="ui-title">Are you sure?</h3>
<p>This action will ________ the ticket.</p>
<a href="#" class="ui-corner-all" data-role="button" data-inline="true" data-rel="back" data-theme="c">Cancel</a>
<a href="#" class="ui-corner-all" data-role="button" data-inline="true" data-transition="flow" data-theme="b">OK</a>
</div>
你确定吗?
此操作将删除票证
您可以尝试下面的解决方案
请注意,本文末尾提供了完整的工作示例(代码+屏幕截图)
1-在弹出框#popupStatus
中的所有选项中添加一个类(例如:myopt
)
还有两个选项(Validate
和Cancel
)的示例:
3-为弹出框的选项定义以下单击事件函数
#popupStatus
:
<!-- POPUP BOX - FOR OPTIONS -->
<div data-role="popup" id="popup_option"
data-theme="a" class="ui-corner-bottom ui-content" data-overlay-theme="a">
<div data-role="content">
<h3 class="ui-title">Are you sure?</h3>
<!-- INLCUDE THE SPAN TAG -->
<p>This action will <span id="myoption"></span> the ticket.</p>
<a href="#" data-role="button" data-inline="true" data-rel="back" data-theme="c">
Cancel
</a>
<a href="#" class="ui-corner-all" data-role="button" data-inline="true" data-transition="flow" data-theme="b">
OK
</a>
</div>
</div>
$(".myopt").click(function() {
var ind = $(this).index();
var toset = "";
switch(ind) {
case 1:
toset = "change";
break;
case 2:
toset = "validate";
break;
case 3:
toset = "cancel";
break;
};
$("#myoption").html(toset);
$( "#popupStatus" ).popup("close");
setTimeout( function(){ $( '#popup_option' ).popup( 'open', { transition: "flow" } ) }, 100 );
});
上述函数执行以下操作:
- 它首先在弹出框
中获取所单击选项的索引,并将其存储在变量#popupStatus
中<如果(分别)单击了ind
、更改
或验证
选项,则code>ind将等于取消
、1
或2
3
- 变量
是我们希望在弹出框toset
中动态“集成”的内容,具体取决于我们之前在弹出框#popup_选项
中单击的选项。它最初设置为#popupStatus
”
- 从
语句中,在代码中,我们将变量开关
的值设置为
,更改
,或验证
,具体取决于我们从弹出的取消
中选择的选项#popupStatus
- 我们在带有
$(“#myoption”).html(toset)的弹出式
中的#popup_选项
标记中包含
的值/内容代码>toset
- 我们关闭弹出窗口
并打开包含动态生成消息(#popupStatus
更改
,
验证
,或
取消
)的
。弹出窗口
我们注意到需要使用
功能打开弹出框setTimeout
。您不能使用#popup_选项
$('#popup_option')直接打开它代码>,因为不允许链接弹出窗口
完整示例:
$(函数(){
$(“.myopt”)。单击(函数(){
var ind=$(this.index();
var toset=“”;
开关(ind){
案例1:
toset=“变更”;
打破
案例2:
toset=“验证”;
打破
案例3:
toset=“取消”;
打破
};
$(“#myoption”).html(toset);
$(“#popupStatus”)。弹出(“关闭”);
setTimeout(function(){$('#popup_option').popup('open',{transition:“flow”}),100);
});
});
地位
选择一个操作:
你确定吗?
此操作将删除罚单
测试截图:
打开页面:
单击上面显示的按钮后:
选择选项验证后
:
希望这有帮助。如果您有任何问题,请告诉我:)。Littm,感谢您提供的详细而有价值的帖子。。结果很好!一个问题:-有时当我浏览主页时,“弹出”部分显示在页面底部?-通常情况下,它们应该保持隐藏状态,直到调用?-如果我再次刷新页面,它们会消失吗?我以前遇到过这个问题,在调用..@jli之前不知道如何保持“隐藏的div”不可见
<!-- POPUP BOX - FOR OPTIONS -->
<div data-role="popup" id="popup_option"
data-theme="a" class="ui-corner-bottom ui-content" data-overlay-theme="a">
<div data-role="content">
<h3 class="ui-title">Are you sure?</h3>
<!-- INLCUDE THE SPAN TAG -->
<p>This action will <span id="myoption"></span> the ticket.</p>
<a href="#" data-role="button" data-inline="true" data-rel="back" data-theme="c">
Cancel
</a>
<a href="#" class="ui-corner-all" data-role="button" data-inline="true" data-transition="flow" data-theme="b">
OK
</a>
</div>
</div>
$(".myopt").click(function() {
var ind = $(this).index();
var toset = "";
switch(ind) {
case 1:
toset = "change";
break;
case 2:
toset = "validate";
break;
case 3:
toset = "cancel";
break;
};
$("#myoption").html(toset);
$( "#popupStatus" ).popup("close");
setTimeout( function(){ $( '#popup_option' ).popup( 'open', { transition: "flow" } ) }, 100 );
});
<html>
<head>
<meta name='viewport' content='minimum-scale=1.0, width=device-width, maximum-scale=1.0, user-scalable=no' />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile.structure-1.2.0.min.css" />
<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.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script>
$(function() {
$(".myopt").click(function() {
var ind = $(this).index();
var toset = "";
switch(ind) {
case 1:
toset = "change";
break;
case 2:
toset = "validate";
break;
case 3:
toset = "cancel";
break;
};
$("#myoption").html(toset);
$( "#popupStatus" ).popup("close");
setTimeout( function(){ $( '#popup_option' ).popup( 'open', { transition: "flow" } ) }, 100 );
});
});
</script>
</head>
<body>
<!-- YOUR JQUERY MOBILE PAGE -->
<div data-role="page" id="my_page">
<div data-role="content">
<a href="#popupStatus" data-role="button" data-rel="popup" data-position-to="window"> Open
Status, Suspend, Restore, Disconnect popup dialog box
</a>
<!--- Status, Suspend, Restore, Disconnect popup dialog box --->
<div data-role="popup" id="popupStatus"
data-theme="c" data-overlay-theme="a" style="max-width: 500px;">
<!-- BACK BUTTON -->
<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right">
Close
</a>
<!-- HEADER -->
<div data-role="header" data-theme="a">
<h1>Status</h1>
</div>
<!-- CONTENT -->
<div data-role="content" data-theme="d" data-backbtn="false">
<h3>Choose an Action:</h3>
<!-- OPTIONS -->
<a href="#" class="myopt"
data-role="button" data-inline="false" data-theme="b">
Change
</a>
<a href="#" class="myopt"
data-role="button" data-inline="false" data-theme="b">
Validate
</a>
<a href="#" class="myopt"
data-role="button" data-inline="false" data-theme="b">
Cancel
</a>
</div>
</div>
<!-- POPUP BOX - FOR OPTIONS -->
<div data-role="popup" id="popup_option"
data-theme="a" class="ui-corner-bottom ui-content" data-overlay-theme="a">
<div data-role="content">
<h3 class="ui-title">Are you sure?</h3>
<p>This action will <span id="myoption"></span> the ticket.</p>
<a href="#" data-role="button" data-inline="true" data-rel="back" data-theme="c">
Cancel
</a>
<a href="#" class="ui-corner-all" data-role="button" data-inline="true" data-transition="flow" data-theme="b">
OK
</a>
</div>
</div>
</div><!-- content -->
</div><!-- page -->
</body>
</html>