获取属性的当前值,而不是原始值

时间:2019-01-25 09:37:18

标签: jquery

更改后,如何让jQuery在页面上看到当前值?我有一组单选按钮,用于控制页面的显示。在后台,我基于此设置了一个标志。例如,我有:

row_to_json(s)

选择单选按钮后,它将变为:

<span id="group" data-group="1"></span>

我也正在运行页面刷新,它会查看这些标志并相应地重新加载页面。除非不是。

如果页面在首次加载时具有<span id="group" data-group="2"></span> ,并且将其更改为Group=1,则希望使用Group=2重新加载该页面。但事实并非如此,它仍然使用Group=2重新加载。我正在使用以下方式查找标志:

Group=1

有没有办法让它获取当前值,而不是原始值?

---更新

好吧,如果有帮助,我添加了以下内容?

https://jsfiddle.net/IGGt/qk6n8z9h/6/

由于某种原因它不会阅读PHP,因此它并不能很好地工作,但是希望您对我正在做的事情有个很好的了解。

但是基本上在x秒之后,它使用以下字符串重新加载页面:

group = $('#group').data('group');

然后我在页面顶部放了一块:

timeout = setTimeout(function() { document.location.href="index.php?group="+group }, timer); 

问题是,如果页面是使用<?php $group = ((ISSET ($_GET['group'])) ? $_GET['group'] : 1 ); 加载的,然后我将其更改为group == 2,则会使用group=1重新加载页面。

3 个答案:

答案 0 :(得分:0)

您实际上是在页面的html中保持页面的“状态”,这会使事情变得非常复杂(例如,您在哪里检测到更改,这就是您看到的错误)

如果进行页面刷新,则所有值将全部重置为代码中所写的值。要在刷新后保留值,可以使用多种方法,例如URL查询,sessionsage(最适合此的声音),cookies等。

要显示基于单选按钮的页面隐藏区域,请更新js中的变量,而不是先更新data-group属性然后再读入它。

现在,如果您创建一个基于此变量中的值设置页面状态的函数,则可以将“设置变量”和“使页面看起来像变量”方法分开。

根据您的持久值(或默认值为1)以及状态变量每次更改后,在页面加载时只需调用“页面状态”方法即可。

抱歉,这不是演示代码,因为利亚姆说我们需要一套您当前的代码,但是作为一种方法,它可能会对您有所帮助。

答案 1 :(得分:0)

我认为对于页面加载,组数据的默认值为1,而页面正在为此值加载,即1,接下来您要将组数据更改为2,现在要向页面加载组数据值2并非您的默认值,即1。 在这种情况下,您可以通过两种方式来实现组数据值2的页面加载: 1.使用查询字符串方法:当您尝试使用URL的查询字符串为选定的组数据加载页面加载时,请在您的文档中捕获此查询字符串值。ready函数执行您要为组执行的必要功能-所选数据。 2.第二种方法是将组数据保存在本地存储中,然后可以在文档期间检索数据。准备好要对所选组数据进行的操作。

答案 2 :(得分:0)

    <script>
       $('#group').on('change', function(){
         group = $(this).data('group');
        });
    </script>
  

如果您有一组ID为('#group')的单选按钮,则此代码可以   有助于找出当前值。