繁体   English   中英

jQuery mobile获取listview选定的项目并将其文本发送到另一个页面

[英]Jquery mobile get listview chosen item and send it text to another page

我制作了具有listwiew的JQM应用程序,我想将选择的项目文本发送到另一个页面,以使用此文本通过ajax从服务器获取数据

第一页

`<div data-role="page" id="hteacher" >
<div data-role="header" data-position="fixed">
<h1>Welcome teacher 1</h1>
 <div data-role="navbar">
  <ul>
    <li><a href="#hteacher" data-icon="home">Home</a></li>
    <li><a href="#t_addclass" data-icon="plus" data-rel="dialog">ADD Class</a></li>
    <li><a href="#msg_page" data-icon="star" data-rel="dialog">MSG</a></li>`<div data-      role="page" id="hteacher" >

       <div data-role="header" data-position="fixed">
    <h1>Welcome teacher 1</h1>
    <div data-role="navbar">
     <ul>
    <li><a href="#hteacher" data-icon="home">Home</a></li>
    <li><a href="#t_addclass" data-icon="plus" data-rel="dialog">ADD Class</a></li>
    <li><a href="#msg_page" data-icon="star" data-rel="dialog">MSG</a></li>
    </ul>
   </div>
  </div>
 <div data-role="content">
   <p></p>
  <h2>list of classes </h2>
 <ul data-role="listview" id="classes_list" data-autodividers="true" data-inset="true"   data-filter="true">
 <script>
$( document ).delegate("#hteacher", "pagecreate", function() {
 $.post("teacher_login.php", { teacher_user:teacher_user ,  get_classes:"1"} ,        function(data ,status){


  var obj = jQuery.parseJSON( data );
$.each(obj,function(){
 var str =this['class_un'];
 var  html =  ' <li><a href="#" ><img src="class1.jpg">'+ str + '</a></li>';
 $("#classes_list").append (html).listview("refresh");
          });
 });
$('#classes_list').on('click','li', function () {
 teacher_choose_class = $(this).text();
 $.mobile.changePage("#teacher_classes");
});  
 });                      
</script>
 </ul>
 </div>

 <div data-role="footer" data-position="fixed">
<h1>Welcome To .....</h1>
 </div>

要向其发送所选项目文本的第二页

<div data-role="page" id="teacher_classes" >
<div data-role="header" data-position="fixed">
<h1>Welcome to class A</h1>
   <div data-role="navbar">
  <ul>
    <li><a href="#hteacher" data-icon="home">Home</a></li>
    <li><a href="#attend" data-icon="check" data-rel="dialog">Take Attendance</a></li>
  </ul>
</div>
</div>

 <div data-role="content">
 <p></p>
<h2>class student </h2>
<ul data-role="listview"  id="student_list_class" data-autodividers="true" data-inset="true" data-filter="true">
 <script>
 $("#teacher_classes").live("pageshow",function(event){
   alert(teacher_choose_class);
  $.post("teacher_login.php", { class_un:teacher_choose_class ,  get_students:"1"} ,      function(data ,status){
var obj = jQuery.parseJSON( data );
$.each(obj,function(){
 var str =this['child_name'];
 var  html =  ' <li><a href="#put_grade"><img src="student1.jpg">'+ str + '</a></li>';
  $("#student_list_class").append (html).listview("refresh");
     });

 });                      
 });
</script>
 </ul>
 </div>

 <div data-role="footer" data-position="fixed">
 <h1>Welcome To .....</h1>
 </div>

我将Teacher_choose_class设为全局变量,问题是该变量的值显示在警报消息中,但是当使用此变量通过Ajax获取数据时,没有数据返回

在代码的ajax部分中,放置一个alert(data); 在回程上,看看您得到了什么。 假设您要返回一个JSON对象数组,每个对象都有一个名为child_name的属性,请尝试:

$("#teacher_classes").live("pageshow",function(event){
   alert(teacher_choose_class);
   $.post("teacher_login.php", { class_un:teacher_choose_class ,  get_students:"1"} , function(data ,status){
       alert(data);
       var obj = $.parseJSON(data);
       var  html = '';
       $.each(obj,function(i, item){
           var str =item.child_name;
           html +=  '<li><a href="#put_grade"><img src="student1.jpg">'+ str + '</a></li>';             
       });

       $("#student_list_class").append(html).listview("refresh");
    });                      
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM