Jquery Page Reload然后选择Div

时间:2016-04-04 12:25:38

标签: javascript jquery

我在该页面上有几个包含表单的div。当用户单击div并提交表单时,页面将重新加载。重新加载之后,我想在页面重新加载之前为用户选择的特定div添加一个类,以便在页面重新加载后识别它。

我的问题是,如何在页面重新加载后保留该特定div的ID?

<div id="1"></div>
<div id="2"></div>
<div id="3"></div>

<script>
    $(document).ready(function() {
        // What needs to go here...?
    });
</script>

谢谢!

4 个答案:

答案 0 :(得分:0)

您可以在网址中使用参数。

<script>
    $(document).ready(function(){
            function getUrlVars() {
                var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                for(var i = 0; i < hashes.length; i++)
                {
                    hash = hashes[i].split('=');
                    vars.push(hash[0]);
                    vars[hash[0]] = hash[1];
                }
                return vars;
            }
    var myParam = = getUrlVars()['myparam'];
    if (myParam == 'first') {
         // do here whatever you want, you kwow the first div was clicked
    }


    $('#1').click(function(){
         window.location = 'index?myparam=first';
    })

    })
</script>

答案 1 :(得分:0)

您可以使用localStorage或sessionStorage。我个人会使用localStorage。

//inside document ready
$('#1').click(function() {
 localStorage.setItem("One", "clicked")
}
$('#2').click(function() {
 localStorage.setItem("Two", "clicked")
}
$('#3').click(function() {
  localStorage.setItem("Three", "clicked")
}
window.onload = get ()
function get () {
   var One = localStorage.getItem("One")
   var Two = localStorage.getItem("Two")
   var Three = localStorage.getItem("Three")
   //then if the var is equal to click, do what you want to it.
}

答案 2 :(得分:0)

我想到有两种方法可以做到这一点。第一个(如果你必须重新加载整个页面):将GET参数添加到表单提交,然后在你的javascript中检查它们。

http://example.com/submit.php?selected_div=div_id&other_selected_div=div_id

This post explains how to retrieve GET parameters in Javascript

但是使用AJAX调用提交表单然后在成功调用(或显示错误消息)后修改DOM会容易得多。这样,您不必在页面重新加载时保留任何内容。

你可以使用jQuery做到这一点。它描述为here in the official docsthis tutorial.

答案 3 :(得分:-1)

你需要在任何地方保存最后选择的div。 您可以使用本地存储,cookie或类似服务。此外,当您刷新网站以了解选择了哪个div时,您可以在网址中发送其他参数,否则您无法知道具体的div。

问候!