2013-12-20 112 views
0

所以我創建一個應用程序的調查,並根據一項調查網頁的選擇的選項href屬性,其中一個頁面會被加載,一旦用戶點擊「開始」。在確定要將哪個鏈接加載到go按鈕的href屬性中時,我也將該鏈接分配給未來的調查頁面的「後退」按鈕......我很困惑爲什麼這會返回undefined,因爲我在前面做了完全相同的事情應用程序和後退按鈕的鏈接正在返回正確的鏈接...jQuery Mobile的APP-更新的導航欄鏈接更新「未定義」

因此,在調用setSurveyFromSurvey5a()後,一旦用戶從survey5a點擊'去',console.log($(「#survey5bback」)。attr(「 href「))返回'undefined',即使它已經在setSurveyFromSurvey5a()中被賦值後...它會通過條件來設置href值,但它不會改變它,我不知道爲什麼。 ..

這是我的代碼:

相關的javascript:

function setSurveyFromSurvey5a(){ 
     if(goto5a){ 
      survey5adata.alo_wthfam = translateCheckBox($("#checkbox-alo_wthfam").prop("checked")); 
      survey5adata.alo_wthpart = translateCheckBox($("#checkbox-alo_wthpart").prop("checked")); 
      survey5adata.alo_wthwork = translateCheckBox($("#checkbox-alo_wthwork").prop("checked")); 
      survey5adata.alo_wthfr = translateCheckBox($("#checkbox-alo_wthfr").prop("checked")); 
      survey5adata.alo_wthoth = translateCheckBox($("#checkbox-alo_wthoth").prop("checked")); 
     } 

     //set go and back buttons: 
     if(survey5adata.alo_wthfam == 2){ 
      goto5a1 = true; 
      console.log("within survey5adata.alo_wthfam == 2"); 
      $("#survey5ago").attr("href", "#survey5a1"); 
      $("#survey5bback").attr("href", "#survey5a1"); 
     } 
     else if(survey5adata.alo_wthfam == 1){ 
      console.log("within survey5adata.alo_wthfam == 1"); 
      goto5a1 = false; 
      $("#survey5ago").attr("href", "#survey5b"); 
      $("#survey5bback").attr("href", "#survey5a"); 
     } 

     console.log("#survey5ago:" + $("#survey5ago").attr("href")); 
     console.log("#survey5bback:" + $("#survey5bback").attr("href")); 
    } 

從survey5a,survey5a1和調查5b中的HTML:

<div data-role="page" id="survey5a"> 
    <header data-role="header" data-theme="c"> 
     <img src="img/evl_logo2.png" class="evllogo" width="100"/> 
     <img src="img/uic_logo2.png" class="ui-btn-right" width="100"/> 
    </header> 
    <div data-role="header" data-theme="e"> 
     <p>Tobacco Use Interview</p> 
    </div> 



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


    <div data-role="footer" data-position="fixed"> 
     <div data-role="navbar"> 
      <ul> 
       <li><a href="#survey4">Back</a></li> 
       <li><a href="#main">Home</a></li> 
       <li><a href="#" id="survey5ago" onclick="setSurveyFromSurvey5a()">Go</a></li> 
      </ul> 
     </div> 
    </div> 
</div> 

<!-- LINKED SURVEY5a1 --> 

<div data-role="page" id="survey5a1"> 
    <header data-role="header" data-theme="c"> 
     <img src="img/evl_logo2.png" class="evllogo" width="100"/> 
     <img src="img/uic_logo2.png" class="ui-btn-right" width="100"/> 
    </header> 
    <div data-role="header" data-theme="e"> 
     <p>Tobacco Use Interview</p> 
    </div> 



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


    <div data-role="footer" data-position="fixed"> 
     <div data-role="navbar"> 
      <ul> 
       <li><a href="#survey5a">Back</a></li> 
       <li><a href="#main">Home</a></li> 
       <li><a href="#survey5b">Go</a></li> 
      </ul> 
     </div> 
    </div> 
</div> 

<!-- LINKED SURVEY5b --> 

<div data-role="page" id="survey5b"> 
    <header data-role="header" data-theme="c"> 
     <img src="img/evl_logo2.png" class="evllogo" width="100"/> 
     <img src="img/uic_logo2.png" class="ui-btn-right" width="100"/> 
    </header> 
    <div data-role="header" data-theme="e"> 
     <p>Tobacco Use Interview</p> 
    </div> 



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


    <div data-role="footer" data-position="fixed"> 
     <div data-role="navbar"> 
      <ul> 
       <!-- Need to determine how to go back correctly --> 
       <li><a href="#" id="#survey5bback">Back</a></li> 
       <li><a href="#main">Home</a></li> 
       <li><a href="#survey6">Go</a></li> 
      </ul> 
     </div> 
    </div> 
</div> 

回答

0

你只是有一個錯字在你的HTML標記:

<li><a href="#" id="#survey5bback">Back</a></li> 

應該是

<li><a href="#" id="survey5bback">Back</a></li> 

從ID中刪除'#'。

+0

啊是的我昨晚發現了這個。謝謝! – Gthoma2