2010-07-15 35 views
1

我有問題時,它可能應該是這個代碼不工作:用Jquery/Javascript刷新後設置選擇框的值?

<script language = "javascript"> 
$(document).ready(function() { 

$('#dept').change(
     function() { 

      var datas = $(this).val(); 
      $.cookie("deptdata", datas); 
      var urlDept = 'catch.cfm?dept=' + datas; 
      $.ajax({ 
      type: 'post', 
      url: urlDept, 
      success: function(){ 
       window.location.replace(''); 
       var datasR = $.cookie("deptdata"); 
       $("select#dept").val(datasR); 
      } 
      }); 
}); 

}); 

</script> 

我有這些包括:

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.8.2.custom.min.js"></script> 
<script type="text/javascript" src="js/cookie.js"></script> 
<script type="text/javascript" src="a_scripts.js"></script> 

形式:

<form> 
    <select name="DeptCode" id = "dept"> 
    <option value="NONE">Choose a Department 
    <cfoutput query="getDepartments"> 
    <option value="#DeptCode#">#DeptName#</option> 
    </cfoutput> 
    </select> 
    </form> 
<cfoutput>#session.deptcode#</cfoutput> 

應該是什麼發生的情況是:當選擇一個部門時,頁面通過ajax(這個工作)將會話值更改爲所選的一個。但是,我必須刷新頁面才能使查詢適用於頁面的另一部分。所以我想緩存select的值,並在頁面刷新後重新分配它以供選擇。 (所以它保持選中的項目)。

+0

它的最後一部分jquery不工作。它不會選擇該值。 – Bri 2010-07-15 15:32:57

回答

1

你需要把代碼,以便選擇框被重新繪製,其內容被重置爲讀取cookie功能外

$(document).ready(function() { 

    var datasS = $.cookie("deptdata"); 
    $("select#dept").val(datasS); 

rest of your code here... 
+0

像一個魅力工作! :D <3 – Bri 2010-07-15 19:11:00

0

window.location.replace('');重新加載頁面..