Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当使用PHP会话保留状态时,如何在刷新后触发onclick代码_Php_Jquery_Session State_Page Refresh - Fatal编程技术网

当使用PHP会话保留状态时,如何在刷新后触发onclick代码

当使用PHP会话保留状态时,如何在刷新后触发onclick代码,php,jquery,session-state,page-refresh,Php,Jquery,Session State,Page Refresh,我使用php会话变量来保留页面状态,如下面的示例所示,它是为了维护一个事实,即元素已被单击并接收一个新类。如果再次单击该类,该类将在以后被删除 但是,我还设置了一个全局变量,以便客户端知道状态,并执行一些影响页面上其他元素的其他代码。此代码使用单击的元素的This来知道如何高亮显示其他元素 我不确定我是否理解,但是如果您正在保存php会话的状态,您可以在呈现页面之前检查该状态,如果会话说元素已被单击,那么还可以呈现一个小js脚本,该脚本将触发元素上的单击事件。这样,您就可以获得所需的所有副作用,

我使用php会话变量来保留页面状态,如下面的示例所示,它是为了维护一个事实,即元素已被单击并接收一个新类。如果再次单击该类,该类将在以后被删除


但是,我还设置了一个全局变量,以便客户端知道状态,并执行一些影响页面上其他元素的其他代码。此代码使用单击的元素的This来知道如何高亮显示其他元素 我不确定我是否理解,但是如果您正在保存php会话的状态,您可以在呈现页面之前检查该状态,如果会话说元素已被单击,那么还可以呈现一个小js脚本,该脚本将触发元素上的单击事件。这样,您就可以获得所需的所有副作用,就像用户单击了元素一样

您可以通过执行以下操作触发单击事件:

if ($("listRow").hasClass("someClass"))
{
// find the element that has the class "someclass"
// get the id of this element
// do something with id
     };
 $("#element").trigger("click");
使用最终解决方案进行编辑

这个怎么样:

 $("listRow.someClass").each(function(){ 
    // - this: Is the element with the class 
    // - $(this).attr("id"): Is the ID of that element
    // do something with id 
  }); 

现在呢?顺便说一句,执行$listRow可能找不到任何东西,因为您告诉JQuery查找名为listRow的标记,您确定没有丢失一个。或者是在那里?

很抱歉,这不起作用,因为正如我所说的,第二次单击将删除该类。由于该类是在刷新时从会话变量应用的,因此该触发器会立即将其删除。问题是,整个div列表仅在会话变量值存在时才应用该值呈现,并且主标记中不允许使用脚本。好的,重新阅读您的问题,这个:$listRow.someClass.eachfunction如何{//-this:是类为//-$this.attrid:的元素//do something ID};现在呢?顺便说一句,使用$listRow可能找不到任何东西,因为您让JQuery查找名为listRow的标记,您确定您没有缺少一个.或一个there?完美。这就是我要找的。我以前没有使用过链式选择器,但忘记了您可以这样做。谢谢。顺便说一句,我确实忘记了选择器$.listRow中的
if ($("listRow").hasClass("someClass"))
{
// find the element that has the class "someclass"
// get the id of this element
// do something with id
     };
<div id="listWrapper" class="wrapper">
    <div id="value1"      class="listRow"></div>
    <div id="value2"      class="listRow"></div>
    <div id="value3"      class="listRow"></div>
    <div id="value4"      class="listRow"></div>
</div>
<div id="listWrapper" class="wrapper">
    <div id="value1"      class="listRow"></div>
    <div id="value2"      class="listRow someClass"></div>
    <div id="value3"      class="listRow"></div>
    <div id="value4"      class="listRow"></div>
</div>
<div id="listWrapper" class="wrapper">
    <div id="value1"      class="listRow"></div>
    <div id="value2"      class="listRow someClass"></div>
    <div id="value3"      class="listRow"></div>
    <div id="value4"      class="listRow"></div>
</div>
 $("#element").trigger("click");
 $("listRow.someClass").each(function(){ 
    // - this: Is the element with the class 
    // - $(this).attr("id"): Is the ID of that element
    // do something with id 
  });