2012-03-26 30 views
6

Tôi có một file .html đơn trông tương tự như sau:lập trình mở một Dialog trong JQuery Mobile

<div id="myPage" data-role="page"> 
    <div data-role="header"> 
    <a href="#" data-icon="arrow-l" data-iconpos="notext" class="ui-btn-left jqm-home" onclick="backButton_Click();">Back</a> 
    <h1>My App</h1> 
    </div> 

    <div> 
    <input id="saveButton" type="button" value="Save" onclick="doStuff()" /> 
    </div> 

    <script type="text/javascript"> 
    function doStuff() { 
     var updatedText = getUpdatedText(); 
     $("#myMessage", "#myDialog").html(updatedText);      
     $.mobile.changePage("#myDialog", { role: "dialog" });  
    } 
    </script> 
</div> 

<div id="myDialog" data-role="page"> 
    <div id="myMessage"></div> 
    <input id="button1" type="button" value="Button 1" data-theme="b" onclick="someJS1();" /> 
    <input id="button2" type="button" value="Button 2" data-theme="c" onclick="someJS2();" /> 
</div> 

Khi "doStuff()" được gọi, tôi muốn thiết lập một thông báo tùy chỉnh trong văn bản trong hộp thoại của tôi và mở hộp thoại. Vì một lý do nào đó, tôi đã không thể mở myDialog. Đối với cuộc sống của tôi, tôi không thể tìm ra những gì tôi đang làm sai. Tôi đã xem xét các nội dung được đăng ở đây: http://jquerymobile.com/demos/1.0a4.1/docs/pages/docs-pages.html

+1

Ồ, liên kết tài liệu của tôi chuyển đến phiên bản khoảng một tuổi. Hãy chắc chắn rằng bạn đang sử dụng phiên bản 1.0 hoặc mới hơn vì bất kỳ thứ gì trước 1.0 đều là một công trình phát triển. – Jasper

Trả lời

19

Tôi nghĩ rằng bạn cần phải thiết lập vai trò của trang để thoại

<div id="myDialog" data-role="dialog"> 
    <div id="myMessage"></div> 
    <input id="button1" type="button" value="Button 1" data-theme="b" onclick="someJS1();" /> 
    <input id="button2" type="button" value="Button 2" data-theme="c" onclick="someJS2();" /> 
</div> 

Và sau đó mở hộp thoại với

$.mobile.changePage("#myDialog"); 

Xem Fiddle http://jsfiddle.net/kYsVp/2/

+3

Nếu bạn đặt 'vai trò:" hộp thoại "' trong đối tượng tùy chọn '$ .mobile.changePage()' thì nó sẽ ghi đè thuộc tính 'data-role' thực tế của phần tử và sử dụng vai trò được chỉ định. Tài liệu tại đây: http://jquerymobile.com/demos/1.1.0-rc.1/docs/api/methods.html – Jasper

Các vấn đề liên quan