更改后,如何让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
重新加载页面。
答案 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')的单选按钮,则此代码可以 有助于找出当前值。