2010-07-15 66 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('');重新加载页面..