2013-04-09 106 views
1

我已经搜索过,没有找到这样做的例子。我希望能够为jQM打开一个对话框,并让它在一个对话框内发生的一步一步的过程中进行。我认为这将需要多个对话框加载到一个对话框中,并不知道这是否可能。我们在jQM中使用Backbone,希望能够在对话框中为每个步骤加载下划线模板。我认为这将是对话框中的4-5步。jQuery Mobile多个对话框在一个对话框中

这可能吗?

谢谢。

+0

则可以使用.'html()'和'.trigger( 'pagecreate')'做。将在这样一个例子,如果你想。 – Omar 2013-04-09 13:44:48

回答

1

这里是一个例子,使用.show().hide()。这里的技巧是创建几个div,然后显示/隐藏它们。

Working Demo

标记

<div data-role="dialog" id="dialog"> 
<div data-role="header" data-theme="d"> 
    <h1>Dialog</h1> 
</div> 

<!-- First Page --> 
<div data-role="content" id="page1"> 
    <h3>Page 1</h3> 
    <p>Text for #page1</p> 
    <div class="ui-grid-a"> 
    <div class="ui-block-a"> 
    <a href="#" data-role="button" data-theme="b" class="prev">Previous</a> 
    </div> 
    <div class="ui-block-b"> 
    <a href="#" data-role="button" data-theme="e" class="next">Next</a> 
    </div> 
    </div> 
</div> 

<!-- Second Page --> 

<div data-role="content" id="page2"> 
    <h3>Page 2</h3> 
    <p>Text for #page2</p> 
    <div class="ui-grid-a"> 
    <div class="ui-block-a"> 
    <a href="#" data-role="button" data-theme="b" class="prev">Previous</a> 
    </div> 
    <div class="ui-block-b"> 
    <a href="#" data-role="button" data-theme="e" class="next">Next</a> 
    </div> 
    </div> 
</div> 

<!-- Third Page --> 
<div data-role="content" id="page3"> 
    <h3>Page 3</h3> 
    <p>Text for #page3</p> 
    <div class="ui-grid-a"> 
    <div class="ui-block-a"> 
    <a href="#" data-role="button" data-theme="b" class="prev">Previous</a> 
    </div> 
    <div class="ui-block-b"> 
    <a href="#" data-role="button" data-theme="e" class="next">Next</a> 
    </div> 
    </div> 
</div> 

</div> 

代码

// hide previous button, #page2 and #page3 once opened 
$('#dialog').find('#page1 a.prev').hide(); 
$('#page2, #page3').hide(); 

// #page1 to #page2 
$('#page1 a.next').on('click', function() { 
$('#page1').hide(); 
$('#page2').show(); 
}); 

// #page2 to #page3 
$('#page2 a.next').on('click', function() { 
$('#page1, #page2').hide(); 
$('#page3').show(); 
$('#dialog').find('#page3 a.next').hide(); 
}); 

// #page2 to #page1 
$('#page2 a.prev').on('click', function() { 
$('#page2').hide(); 
$('#page1').show(); 
}); 

// #page3 to #page2 
$('#page3 a.prev').on('click', function() { 
$('#page2, #page3').hide(); 
$('#page2').show(); 
}); 
+1

+1优秀的解决方案 – Gajotres 2013-04-09 14:54:31

相关问题