2013-07-24 5 views
1

Я пытаюсь создать одно приложения, которое имеющие три страницы в одной странице шаблона архитектуры первой странице содержит страницы входа и я используюJQuery мобильный возвращается к пред странице OnClick события не работают

$.mobile.changePage('xxxx.php'); для перемещения его работы должным образом на второй странице я имею ListView оттуда я перейти на другую страницу с помощью

$.mobile.changePage('xxxx.php'); и возвращается предыдущая страница я использую этот $.mobile.changePage('xxxx.php');

Но когда я иду к пред страницы ListView по щелчку метод делегата любой от ее метод не работает. Но он работает после обновления страницы.

Ниже приведен мой код. Любые предложения будут замечательными.

secondpage.php

<!DOCTYPE html> 
<html> 
<head> 

<title> Management</title> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>jQuery Mobile</title> 
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 

    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script> 

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" /> 

<link rel="stylesheet" href="./js/jquery.mobile-1.3.1.min.css" /> 

<script src="./js/jquery.mobile-1.3.1.min.js"></script> 

</head> 
<body > 
<div data-role="page" id="demo-page" > 

<div data-role="header" id="header" data-position="fixed" data-tap-toggle="false" data-fullscreen="true" data-theme="a" > <!-- data-position="fixed" data-tap-toggle="false" --> 


<a href="#menu" data-role="button" data-inline="true" data-icon="bars" data-iconpos="notext" class="ui-btn-left" ></a> 
<a href="" id="edit" data-role="button" data-inline="true" class="ui-btn-right">Edit</a> 

<h1 style="font-size:14px;">Event Management</h1> 

</div> 

<div data-role="content" id="content" > 

<div id="listdiv" style="margin-top:15%;margin-bottom:10%;"> 

    <ul data-role="listview" id="list" class="ui-listview " data-split-icon="delete" data-filter="true" data-filter-placeholder="Search..." > 

    <li data-icon="false" data-name="<?php echo $token_res['event_name'];?>" value="<?php echo $token_res['msg_body'];?>" id="read"> 
<a href=" " data-transition="slide" >list1</a><a class="deleteMe"></a> 
</li> 
<li data-icon="false" data-name="<?php echo $token_res['event_name'];?>" value="<?php echo $token_res['msg_body'];?>" id="read"> 
<a href=" " data-transition="slide" >list2</a><a class="deleteMe"></a> 
</li> 
</ul> 
</div> 
</div><!--end of content --> 
    <script> 

    $("#list").delegate('li',"click",function(){ 

    var ki=$(this).attr('data-name'); 

    //alert("clicked"+$(this).attr('data-name')+$(this).attr('value')); 
    $(document).one("pagechange", function() { 
     $.mobile.changePage("edit.php",{type:'post',transition: "slide", data: {'param1':ki}}); 
     }); 

    }); 
    $(document).ready(function() { 

    }); 
    </script> 
    <div data-role="footer" id="mainfooter" data-theme="a" data-fullscreen="true" data-position="fixed" data-tap-toggle="false" style=" bottom:0; width:100%;"> 

    </div> 

</div><!--end of page --> 

</body> 
</html> 

thirdpage.php

 <!DOCTYPE html> 
    <html> 
    <head> 

    <title>Management</title> 


     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <title>jQuery Mobile</title> 
     <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 

     <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script> 

     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" /> 

    <link rel="stylesheet" href="./js/jquery.mobile-1.3.1.min.css" /> 

    <script src="./js/jquery.mobile-1.3.1.min.js"></script> 

    </head> 
     <body > 
     <div data-role="page" id="demo-page1" > 

     <div data-role="header" id="header" data-position="fixed" data-tap-toggle="false" data-fullscreen="true" data-theme="a" > 

     <a href="" data-role="button" id="mback" data-inline="true" class="ui-btn-left" >Back</a> 
     <a href="" id="medit" data-role="button" data-inline="true" class="ui-btn-right" >Edit</a> 

     <h1 style="font-size:14px;">Management</h1> 

     </div> 
     <div data-role="content" id="content" > 

     <ul data-role="listview" data-inset="true" style="margin-top:10%;margin-bottom:10%;" > 
     <li data-role="fieldcontain"> 
     <label for="eventbody">Message-Body</label> 
     <input type="text" id="eventbody" value=<?php echo decode($_REQUEST['msg_body']);?> > 
     </li> 
     <li data-role="fieldcontain"> 
     <label for="eventname">Message-Body</label> 
     <input type="text" id="eventname" value=<?php echo decode($_REQUEST['event_name']);?> > 
    </li> 
      <li data-role="fieldcontain"> 
     <label for="sdate">Message-Body</label> 
    <input type="text" id="sdate" value=<?php echo decode($_REQUEST['sdate']);?> > 
     </li> 
     <li data-role="fieldcontain"> 
     <label for="edate">Message-Body</label> 
     <input type="text" id="edate" value=<?php echo $_REQUEST['param1'];?> > 
      </li> 

     <li data-role="fieldcontain" id="nouse" style="display:none;"> 

      <input type="text" id="eid" value=<?php echo decode($_REQUEST['id']);?> > 
     </li> 
     <li > 
     <fieldset class="ui-grid-a"> 
        <div class="ui-block-a"><button type="submit" id="mcancel" data-theme="d">Cancel</button></div> 
        <div class="ui-block-b"><button type="submit" data-theme="a">Submit</button></div> 
      </fieldset> 
     </li> 

     </ul> 

</div><!--end of content --> 

     <div data-role="footer" id="mainfooter" data-theme="a" data-fullscreen="true" data-position="fixed" data-tap-toggle="false" style=" bottom:0; width:100%;"> 

     </div> 

     <script> 

     $("#mback").click(function(){ 
     alert("alert"); 
     if($("#mback").text()=='Back'){ 
     //e.preventDefault(); 
     var page = document.referrer; 
    $.mobile.changePage("home.php",{ 
     transition: 'slide', 
    reloadPage:true, 
     reverse: true 
    }); 

    }else{ 

     $("#eventbody").attr("readonly", "readonly"); 
     $("#eventname").attr("readonly", "readonly"); 
     $("#sdate").attr("readonly", "readonly"); 
     $("#edate").attr("readonly", "readonly"); 

     $("#medit .ui-btn-text").text("Edit"); 
    $("#mback .ui-btn-text").text("Back"); 
    $('#mback .ui-btn-text').button('refresh'); 
    $("#medit .ui-btn-text").button('refresh'); 

    } 

    }); 
     $(document).ready(function() { // <-- ensures the DOM is ready 

     }); 
     </script> 

    </div><!--end of page --> 

    </body> 
    </html> 

ответ

1

я изменил список делегат метода щелчка от идентификатора класса, то он работает должным образом, как это предлагается по ссылке answer

0

Почему вы не используете автомобиль обратно функцию. Просто используйте это в своем скрипте после jquery-1.9.1.min.js и перед jquery.mobile-1.3.1.min.js:

$ .mobile.page.prototype.options.addBackBtn = true; $ .mobile.page.prototype.options.backBtnText = "Назад";

Затем оно автоматически добавляет разметку кнопки на каждой странице, кроме первой, и направляется назад на предыдущие страницы.

+0

мне нужно перезагрузить пред странице Вот почему я иду для этого сценария – Ghouse

+0

почему вам нужно перезагрузка страницы? – Gajotres

+0

Я обновляю строку списка на третьей странице, и она должна быть отражена на второй странице, и даже если какие-либо новые данные будут добавлены в базу данных, она немедленно отразится – Ghouse