使用Jquery / Javascript刷新后设置选择框值?

时间:2010-07-15 15:30:06

标签: javascript jquery

我有一个问题,这个代码可能不应该工作:

<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的值并重新分配它以在页面刷新后选择它。 (因此它会保留所选项目。)

2 个答案:

答案 0 :(得分:1)

您需要将代码放在函数

之外读取cookie
$(document).ready(function() { 

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

rest of your code here...

答案 1 :(得分:0)

您的window.location.replace('');重新加载页面,以便重新绘制选择框并重置其内容。