jQuery样式函数在加载ajax内容?

时间:2014-01-13 22:14:33

标签: javascript jquery ajax

我正在使用导航加载一些div内容,并且我已经使大部分内容正常工作。但是我现在正试图建立:

http://www.bulgaria-web-developers.com/projects/javascript/selectbox/

在选择下拉列表中,使用以下方法调用样式:

$(function () {
$("#select").selectbox();
});

我无法看到我如何申请:

$(document).on('mousedown', '.nav-link', function() {

第一次出现的时候?任何建议都非常赞赏,欢呼。

更新

没关系,我已经完成了。

第二次更新

好的,我刚发现了2个问题。首先,我使用以下方式显示:

if (href == 'requestedpage.php') { 
    $(function () {
        $("#select").selectbox();
});
};

当第一次加载页面时,选择框的样式设置正确,但是如果你转到另一个页面然后返回,它不会第二次应用该样式?

我遇到的另一个问题是当你点击选项时,下拉列表会进行选择,但选择列表中的所有选项都会保留在视图中。

<罢工>

HTML代码为:

<select id="selectlist" name="selectlist" onchange="updatevariable(this.value)" tabindex="1">
<option value="">-- Select Quantity --</option>
<option value="1">Option1</option>
<option value="2">Option2</option>
<option value="3">Option3</option>
</select>

通过删除onchange事件对问题2进行排序!

提前感谢任何可以帮助我的人。

2 个答案:

答案 0 :(得分:1)

如果您在导航时没有应用样式,则可能就像在回调中设置标记一样简单。
一种方法是将标志值发送到隐藏的输入字段,该字段将在页面提交时发布到您的服务器。这意味着当您向后导航时,您可以检查标志是否存在,如果是,则应用样式 或者,如果要为支持HTML5的浏览器构建此应用程序,则可以保存到AJAX回调中的sessionStorage

所以,在你检查href的地方,添加:

if (href == 'userarea-page1.php') { 
    $(function() { 
        $("#select").selectbox();
        sessionStorage.selectFlag = "true";
    });
}; 

然后,在您的$("a.nav-link").click事件之上(在您的document.ready中),您可以检查是否已设置此事件。如果有,请应用样式。

$(document).ready(function() {
    if (sessionStorage.selectFlag == "true") { 
        $("#select").selectbox();
    }

    $("a.nav-link").click(
        ...
    );
);

这将保持页面之间的样式状态。如果您想要删除样式,请确保清除标记,否则它将永久应用。

答案 1 :(得分:0)

我不确定你为什么要在页面加载时通过javascript设置样式,但如果这是你正在做的事情,尝试这可能会有所帮助:

$(document).ready(function() {
    $("#select").selectbox();
);