Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 jquery隐藏问题_Php_Jquery - Fatal编程技术网

Php jquery隐藏问题

Php jquery隐藏问题,php,jquery,Php,Jquery,我使用它来切换我的div元素,并在DOM就绪时隐藏所有这些元素 $('div[class*="showhide"]').hide(); $('input:image').click( function() { var nr = $(this).attr('id').substr(7,2); $('div.showhide' + nr).toggle(400); }); 我已经用classshowhide0动态创建了div元素;showhide1;

我使用它来切换我的div元素,并在DOM就绪时隐藏所有这些元素

   $('div[class*="showhide"]').hide();

   $('input:image').click( function() {
      var nr = $(this).attr('id').substr(7,2);
      $('div.showhide' + nr).toggle(400);
   });  
我已经用class
showhide0动态创建了div元素;showhide1;showhide2
…等。。。 在DIV标签中,我有搜索框

  • 首先,当页面加载时,所有DIV标记都隐藏
  • 我切换其中一个以显示
  • 启动搜索,以便使用查询结果重新加载页面
当然,所有DIV都会再次隐藏,因为页面会重新加载。不幸的是


有没有可能在我找东西后再也不隐藏起来?当我打开页面时,所有的
div都被隐藏了,但之后我切换它时…

好吧,是的,如果有搜索请求,你不需要运行初始的
hide()
。如果在PHP级别上,您知道正在执行搜索,我会将该行从输出中排除。

如果您需要一个或多个特定元素在页面重新加载时保持可见,那么您需要做一些事情来跨请求维护状态,然后修改jQuery以在初始化元素的可见状态时利用该状态信息

这可以通过多种方式实现,包括但不限于

  • 将其包含在查询字符串中
  • 将其包含在URL哈希中
  • 用饼干

我们在我工作的地方做了类似的事情

我们选择了隐藏所有元素的类名,而不是命名ID

所以,我们会有一些类似:

<div id="hide1" class="hide"> </div>
最后,我们用这样的方式向他们展示:

$('input:image').click( function() {
   var nr = $(this).attr('id').substr(7,2);
      $('#hide' + nr).toggle(400);
   });
}
这是因为CSS的优先规则。toggle()/hide()/show()方法覆盖隐藏类的样式

至于取消隐藏部分,如果将要取消隐藏的ID传递给脚本,则可以解析它并取消隐藏相应的div

您可以从
window.location.search
读取和处理查询字符串。不幸的是,您必须手动解析它或使用插件,例如或


如果他在做表单提交,那么隐藏的输入也会起作用。
$('input:image').click( function() {
   var nr = $(this).attr('id').substr(7,2);
      $('#hide' + nr).toggle(400);
   });
}
var id = $.query.get('unhide_id'); // This is using Query String Object
$('#' + id).show(400);