更改所选的选项值

时间:2016-04-06 09:41:44

标签: javascript jquery html

我有一个下拉列表,我填写了类似的值:

<form>
    <select id="select_region" class="form-control" name="regions" onchange="loadPage(this.value);">
        <?php
            foreach ($regions as $region)
            {
                echo '<option value="'.$region->nom.'">'.$region->nom.'</option>';
            }
        ?>
    </select>
</form>

如您所见,有一个属性onchange可以调用javascript函数。在此功能中,我重定向页面以在网址中包含所选项目。像那样:

function loadPage(param){
  $string = "/kohana-v3.3.5/environment/region/"+param
  self.location.href= escape($string);
}

问题是当它重新加载页面时,下拉列表总是显示列表的第一项。

所以我想要的是当用户选择一个选项时,页面会被重定向,但下拉列表会显示他选择的值。

我尝试使用jquery添加:

$("#select_region").val(param);

但是当页面被真实地加载时,它会被重置。

有人可以告诉我该怎么办?

编辑: localstorage的函数:

$(document).ready(function() {
    var value_selected = localStorage.getItem("Select");
    $("#select_region").val(value_selected);
});

function loadPage(param){

    store_value(param);


    $string = "/kohana-v3.3.5/environment/region/"+param
    self.location.href= escape($string);


}

function store_value(value){
    localStorage.setItem("value", value);
}

2 个答案:

答案 0 :(得分:0)

您使用page.php?id=1254之类的网址传递var, 或者查看localstorage

答案 1 :(得分:0)

您可以将值存储在localstorage中,如下所示

function store_value(value)    
   if(typeof(Storage) !== "undefined") {
       localStorage.setItem("value", value);
   } else {
       // Sorry! No Web Storage support..
   }
}

loadPage中调用此函数并传递所选下拉值的值。为了在页面加载时获得它的价值,

$(document).ready(function(){
    var value_selected = localStorage.getItem('value');
    $("#select_region").val(value_selected);
});