2012-11-22 4 views
0

자르기 및 다양성이라는 두 개의 선택 상자가 있습니다. Ajax를 통해로드 된 다양한 선택 상자는 자르기 선택에 따라 달라지며 JQueryMobile에 렌더링됩니다. 즉, 해당 페이지를 직접 실행할 때 작동하지만 다른 페이지에서 해당 페이지로 리디렉션하는 경우 다양한 사람들이 일하지 못하게 할 시간. JQuery Mobile 선택 상자 채우기가 작동하지 않습니까?

<!-- 
To change this template, choose Tools | Templates 
and open the template in the editor. 
--> 
<?php 
require_once('calendar/classes/tc_calendar.php'); 
?> 
<!DOCTYPE html> 
<html> 
    <head> 
     <title></title>    
     <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.2.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script> 
     <script language="javascript" src="calendar/calendar.js"></script> 
     <link href="calendar/calendar.css" rel="stylesheet" type="text/css">  
     <!--<script src="jquery.js"></script>-->    
    </head>  
    <body> 
     <script> 
      $(document).ready(function() { 
       $("#crop").change(function(){ 
        $.ajax({ 
         type:'GET', 
         url :'variety.php', 
         dataType:"json",        
         data: ({crop: $('#crop').val()}), 
         success : function(data){ 

          $("#variety").html(data).selectmenu('refresh', true);         
         }, 
         error : function(data){ 
          //      alert("Error"+data); 
         } 
        }); 

       }); 
      }); 
     </script> 
     <script> 
      function onSuccess(data, status) 
      { 
       data = $.trim(data); 
       $("#notification").text(data); 
      } 

      function onError(data, status) 
      { 
       // handle an error 
      }  

      $(document).ready(function() { 
       $("#submit").click(function(){ 

        var formData = $("#myform").serialize(); 

        $.ajax({ 
         type: "POST", 
         url: "offerReq_save.php", 
         cache: false, 
         data: formData, 
         success: onSuccess, 
         error: onError 
        }); 

        return false; 
       }); 
      }); 
     </script> 

     <?php 
     session_start(); 
     //$_SESSION["user_id"] = 10; 
     $_SESSION["type"] = $_GET['type']; //"farmer offer"; 
     $_SESSION["ref"] = $_GET['ref']; //"new"; 
     $_SESSION["ictype"] = $_GET['ictype']; //"crop"; 
     // $_SESSION["usertype"] = "farmer"; 
     $types = $_SESSION["type"]; 
     $con = mysql_connect("localhost", "root", "itemfile"); 
     if (!$con) { 
      die('Could not Connect:' . mysql_error()); 
     } 
     mysql_select_db("agropiamob", $con); 
     $tests = mysql_query("select * from m01_crop_master"); // or die("Note: " . mysql_error());  
     mysql_close($con); 
     ?> 
     <section id="page1" data-role="page">    
      <header data-role="header"><h1>Header</h1></header> 
      <div data-role="content" class="content"> 
       <form id="myform"> 
        <div data-role="fieldcontain"> 
         <label for="type" class="select">Type :</label> 
         <select name="type" id="type" data-native-menu="false"> 
          <option value="Product">Product</option> 
          <option value="Service">Service</option> 
          <option value="Bank">Bank</option> 
          <option value="Insurance">Insurance</option> 
         </select> 
        </div>           

         <div data-role="fieldcontain"> 
          <label for="crop" class="select">Crop :</label> 
          <select name="crop" id="crop" data-native-menu="false"><option selected>Choose an option</option> 
           <?php 
           while ($res = mysql_fetch_assoc($tests)) { 
            $dropdown .= "\r\n<option value='{$res['id']}'>{$res['crop_name']}</option>"; 
           } 
           echo $dropdown; 
           //} 
           ?> 
          </select> 
         </div> 
         <div data-role="fieldcontain"> 
          <label for="variety" class="select">Variety :</label> 
          <select name="variety" id="variety" data-native-menu="false"> 
          </select> 
         </div>                  
        <div data-role="fieldcontain"> 
         <label id="locationLabel" for="location" class="select">Location :</label> 
         <input type="text" name="location" id="location"> 
        </div> 
        <div data-role="fieldcontain"> 
         <label for="terms" class="select">Terms :</label> 
         <select name="terms" id="terms" data-native-menu="false"> 
          <option value="FOB">FOB</option> 
          <option value="CIF">CIF</option> 
         </select> 
        </div> 
        <div data-role="fieldcontain">       
         <!--<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{"mode": "calbox"}'>      --> 
         <!--<label for="mydate" class="select">Date :</label>--> 
         <table border="0" cellspacing="0" cellpadding="2"> 
          <tr> 
           <td nowrap>Date :</td> 
           <td><?php 
        $myCalendar = new tc_calendar("mydate", true, false); 
        $myCalendar->setIcon("calendar/images/iconCalendar.gif"); 
        // $myCalendar->setDate(date('d'), date('m'), date('Y'));// 
        $myCalendar->setPath("calendar/"); 
        $myCalendar->setYearInterval(2000, 2015); 
        $myCalendar->dateAllow('2008-05-13', '2015-03-01'); 
        $myCalendar->setDateFormat('j F Y'); 
        $myCalendar->setHeight(350); // 
        //$myCalendar->autoSubmit(true, "form1");// 
        $myCalendar->setAlignment('left', 'bottom'); 
        //$myCalendar->setSpecificDate(array("2011-04-01", "2011-04-04", "2011-12-25"), 0, 'year'); 
        //$myCalendar->setSpecificDate(array("2011-04-10", "2011-04-14"), 0, 'month'); 
        //$myCalendar->setSpecificDate(array("2011-06-01"), 0, ''); 
        $myCalendar->writeScript(); 
        ?></td> 
           <!-- <td><input type="button" name="button" id="button" value="Check the value" onClick="javascript:alert(this.form.mydate.value);"></td>--> 
          </tr> 
         </table> 
        </div> 

        <div data-role="fieldcontain"> 
         <!--<label for="validity">Validity :</label> 
         <input name="validity" id="validity" type="date" data-role="datebox" data-options='{"mode": "calbox"}'>--> 
         <table border="0" cellspacing="0" cellpadding="2"> 
          <tr> 
           <td nowrap>Validity :</td> 
           <td><?php 
            $myCalendar = new tc_calendar("validity", true, false); 
            $myCalendar->setIcon("calendar/images/iconCalendar.gif"); 
            // $myCalendar->setDate(date('d'), date('m'), date('Y'));// 
            $myCalendar->setPath("calendar/"); 
            $myCalendar->setYearInterval(2000, 2015); 
            $myCalendar->dateAllow('2008-05-13', '2015-03-01'); 
            $myCalendar->setDateFormat('j F Y'); 
            $myCalendar->setHeight(350); // 
            //$myCalendar->autoSubmit(true, "form1");// 
            $myCalendar->setAlignment('left', 'bottom'); 
            //$myCalendar->setSpecificDate(array("2011-04-01", "2011-04-04", "2011-12-25"), 0, 'year'); 
            //$myCalendar->setSpecificDate(array("2011-04-10", "2011-04-14"), 0, 'month'); 
            //$myCalendar->setSpecificDate(array("2011-06-01"), 0, ''); 
            $myCalendar->writeScript(); 
        ?></td> 
           <!-- <td><input type="button" name="button" id="button" value="Check the value" onClick="javascript:alert(this.form.mydate.value);"></td>--> 
          </tr> 
         </table> 
        </div> 
        <div data-role="fieldcontain"> 
         <label id="payment_termsLabel" for="payment_terms" class="select">Payment Terms :</label> 
         <input type="text" name="payment_terms" id="payment_terms"> 
        </div>      
        <div data-role="fieldcontain"> 
         <label for="remarks">Remarks :</label> 
         <textarea name="remarks" id="remarks" cols="10" rows="3"></textarea> 
        </div> 
        <div data-role="fieldcontain"> 
         <label for="freq" class="select">Frequency :</label> 
         <select name="freq" id="freq" data-native-menu="false"> 
          <option value="Daily">Daily</option> 
          <option value="Weekly">Weekly</option> 
          <option value="Monthly">Monthly</option> 
         </select> 
        </div> 
        <div data-role="fieldcontain">      
         <button type="submit" id="submit" data-inline="true">Submit</button> 
         <button type="reset" data-inline="true">Cancel</button> 
         <h3 id="notification"></h3> 
        </div> 
       </form> 
      </div> 
      <footer data-role="footer"><h1>Footer</h1></footer> 
     </section> 
    </body> 
</html> 

답변

1

$(document).ready(function() { <이 --This ----

내 페이지 ... 저를 도와주세요 당신의 문제입니다. jQM을 사용하면이 이벤트는 한 번만 발생합니다. 이 라이브러리의 DOM 관리 기능과 연결됩니다.

시도는 다음과 같이 이벤트를 추가합니다 :

$('#pageId').bind('pageshow', function(){ 

}); 

페이지 id는 <div data-role="page" id="pageId">의 id 속성이다.

확인 더 많은 이벤트에 대한이 페이지 : U 말했듯이 jQM Docs - Events

+0

난 그냥 시도했지만 해당 이벤트는 working.then이'$ ('#의 페이지 id')와 같은 이벤트를 추가하지 ('pagecreate'기능을 살고있다(). { }); 이번에 ** crop ** 값을 변경할 때 페이지가 새로 고침되었습니다. – Jishin