单击后退按钮时,下拉列表不会在Chrome中显示所选值

时间:2015-12-07 09:04:58

标签: javascript ajax google-chrome nopcommerce history.js

我的网页包含一个下拉菜单,我已经实现了history.js,但是在后退按钮上,未显示下拉列表中所选项目的值。它会使用所选值加载下拉项,但不会在下拉列表中显示为选定项。此外,通过单击后退按钮进行ajax调用,并且不会刷新下拉列表。这意味着下拉列表不包括在ajaxcall中,它是在ajax调用之外。

此问题仅在Chrome中出现。我的Chrome版本是版本47.0.2526.73 m。这在Mozilla Firefox中运行良好。

问题是当我点击Chrome中的后退按钮时,下拉菜单不会显示默认/所选值。它也会加载所有值。仅在下拉列表中不显示所选值。如果我删除"选择"属性并再次通过编辑Html添加此属性,然后它也显示下拉值。

这是我实施了Histroy.js:

  $(function () {

History.Adapter.bind(window, "statechange", function () {
    var State = History.getState();
    var url = ((State.data.loadUrl == "undefined") ? State.data.loadUrl : State.url);
    if (typeof (manualStateChange) !== "undefined" && manualStateChange == true) {
        AjaxCall(url);
    }
    else if (typeof (State.data.loadUrl) == "undefined") {
        AjaxCall(url);
    }
    manualStateChange = true;
    return false;
  });    
});

这是我的pushState函数:

function PushStateUrl(stateUrl) {
 manualStateChange = false;
 History.pushState({ loadUrl: stateUrl, rand: Math.random() }, document.title, stateUrl);
}

0 个答案:

没有答案