2014-02-24 111 views
0

我搜索了本網站和網絡,但是我還沒有找到任何可以解決問題的方法。即使刷新頁面,jquery保持div可見選擇選項

我有4個收音機,如果您選擇顯示/隱藏包含4個註冊表單的div。這工作完美。

我有2個選擇由包含和國家填充。這工作完美。

我有2個問題:

1)我的問題是,如果你更新頁面或用戶點擊提交按鈕股利消失,也就是頁面返回到它的初始狀態。

我希望顯示的div保持可見狀態,即使刷新頁面或者在驗證模塊時出現錯誤。

2)第二個問題是,當你重新加載頁面2選擇包含「大洲」和國家,他們回到初始狀態,我不停留在用戶做出的選擇。

我想大陸的選擇範圍,通過用戶進行的國家保持選中狀態,甚至當你刷新頁面

我正在學習jQuery的最近。

我希望有人給我一隻手。

我希望儘可能清楚。

對不起,英語不好。

這是html代碼:

<select id="continent" onchange="countryChange(this);" class="elementiForm"> 
     <option value="empty">Seleziona un Continente</option> 
     <option value="Europa">Europa</option>  
     <option value="Nord America">Nord America</option> 
     <option value="Sud America">South America</option> 
     <option value="Asia">Asia</option> 
     <option value="Oceania">Oceania</option> 
     <option value="Africa">Africa</option>   
</select> 

<label for="country" class="labelForm">Seleziona uno Stato</label> 
     <select id="country" class="elementiForm"> 
     <option value="0" >Seleziona uno Stato</option> 
</select> 

<!-- below the div that contain the headlights form --> 
<div id="contatti_RS" class="red box"> 
    societa form here ... 
</div> 

<div id="privato" class="green box"> 
    privato form here ... 
</div> 

<div id="ditta_professionista" class="blue box"> 
    ditta_professionista form here ... 
</div> 

<div id="associazione" class="black box"> 
    associazione form here ... 
</div> 

這是我jQuery的顯示/隱藏的div

$(document).ready(function() { 

     $('input[type="radio"]').click(function(){ 
      if($(this).attr("value")=="societa"){ 
       $(".box").hide(); 
       $(".red").show(); 
      } 
      if($(this).attr("value")=="privato"){ 
       $(".box").hide(); 
       $(".green").show(); 
      } 
      if($(this).attr("value")=="ditta_professionista"){ 
       $(".box").hide(); 
       $(".blue").show(); 
      } 
      if($(this).attr("value")=="associazione"){ 
       $(".box").hide(); 
       $(".black").show(); 
      } 



     }); 

這是我的jQuery控制無線電設備是否選擇上頁面刷新

$(function() 
{ 
    $('input[type=radio]').each(function() 
    { 
     var state = JSON.parse(localStorage.getItem('radio_' + this.id)); 

     if (state) this.checked = state.checked; 
     }); 
}); 

$(window).bind('unload', function() 
{ 
    $('input[type=radio]').each(function() 
    { 
     localStorage.setItem(
      'radio_' + this.id, JSON.stringify({checked: this.checked}) 
     ); 
    }); 
}); 

回答

0

如果可能使用AJAX(jQuery獲取或發佈)

如果使用AJAX是不可能的,您可以記住您在cookie中的設置。例如。您可以設置

exp = Date.now(); 
exp += 84600000; //validity one day 
document.cookie = "mycookie=" + some_value + "expires=" + 
    (new Date(d)).toGMTString(); 

重裝後你再解析的cookie(Read a javascript cookie by name),並設置相應的頁面狀態。

+0

我對Ajax知之甚少,然而,我開始學習jquery很短的時間,所以我可以保持div可見是大陸和國家的選擇,從用戶? – user3311699

+0

我正在使用codeigniter,也許我可以使用幫手set_cookie()? – user3311699

+0

我不知道codeigniter,但是如果它設置了cookie,然後使用它; ;-) –

相關問題