当前位置: 首页 > 面试题库 >

Ajax标签(wordpress)

宋望
2023-03-14
问题内容

因此,我是Ajax的新手,在阅读了一些在线教程之后,以下是我所了解的内容。如果我错了,请纠正我。

现在的情况:

  1. Tab_menu.php:具有选项Tab 1卡,默认情况下,该选项卡在页面加载时显示。对于Tab 2选项卡,menu_tab2.php内容显示在页面加载中。
         <div class="my_tabs">
        <a href="#my_tab1" id="my_tab_id_1">Tab 1</a>
        <a href="#my_tab2" id="my_tab_id_2">Tab 2</a>
        <a href="#my_tab3" id="my_tab_id_3">Tab 3</a>
        <a href="#my_tab4" id="my_tab_id_4">Tab 4</a>
        <a href="#my_tab5" id="my_tab_id_5">Tab 5</a>
     </div>
     <div class="my_section" id="my_tab1">
        Tab 1 Content            
     </div>
     <div class="my_section" id="my_tab2">
       <?php get_template_part('page/menu_tab2'); ?>            
     </div>
     <div class="my_section" id="my_tab3">
       <?php get_template_part('page/menu_tab3'); ?>            
     </div>
     <div class="my_section" id="my_tab4">
       <?php get_template_part('page/menu_tab4'); ?>            
     </div>
     <div class="my_section" id="my_tab5">
       <?php get_template_part('page/menu_tab5'); ?>            
     </div>
 ```   

  2. menu_tab2.php(其余选项卡的内容与此类似)

     <div class="my_section" id="menu_tab2_content_id">
   Tab 2 content           
 </div>

因此,我想使用ajax将选项卡php文件的内容加载到相应的选项卡中。

**jQuery**



        $(document).ready(function() {
            $('.my_tabs a').click(function(e) {
                e.preventDefault();

                var tab_id = $('this').attr('id'); 


                $.ajax({
                    type: "GET",
                    url: "wp-admin/admin-ajax.php", 
                    dataType: 'html',
                    data: ({ action: 'my_tab_menu', id: tab_id}),
                    success: function(data){
                          $('#div'+tab_id).html(data);
                },
                error: function(data)  
                {  
                alert("Error!");
                return false;
                }  

                }); 

         }); 
     }); 


**Function.php**


 function my_tab_menu() {
   <?php get_template_part('page/tab1'); ?> 
  }

add_action('wp_ajax_my_tab_menu', 'my_tab_menu');
add_action('wp_ajax_nopriv_my_tab_menu', 'my_tab_menu');

**问题:**

如何定位单个标签和相应的php文件?

谢谢!

**编辑1**

因此,根据提供的答案,这是更新的版本:

**Function.php**


 function my_tab_menu() {
   $template_part_path = 'page/tab' . $_GET['id'];
  <?php get_template_part($template_part_path); ?>  
  }

add_action('wp_ajax_my_tab_menu', 'my_tab_menu');
add_action('wp_ajax_nopriv_my_tab_menu', 'my_tab_menu');

```

还有,对$('#div'+tab_id).html(data);吗?我不了解结构以及每个组件的含义。


问题答案:

从$ _GET [‘id’]中检索发布的ID,并将其添加到路径中。

$template_part_path = 'page/tab' . $_GET['id'];
<?php get_template_part($template_part_path); ?>


 类似资料:
  • Struts使用DOJO框架进行AJAX标记实现。 首先,要继续此示例,您需要将struts2-dojo-plugin-2.2.3.jar添加到类路径中。 您可以从struts2下载的lib文件夹中获取此文件(C:\struts-2.2.3all\struts-2.2.3\lib\struts2-dojo-plugin-2.2.3.jar) 对于这个练习,让我们修改HelloWorld.jsp如下

  • Struts使用Dojo框架的 AJAX标记实现。首先,这个例子中,你需要添加 struts2-dojo-plugin-2.2.3.jar。你可以得到这个文件的lib文件夹struts2的下载 (C:struts-2.2.3-allstruts-2.2.3libstruts2-dojo-plugin-2.2.3.jar) 对于这个锻炼,让我们修改 helloWorld.jsp如下: 当我们运行上面

  • 我正在建立一个P2主题(使用休斯顿儿童主题)Wordpress。我想完成以下任务,但经过数小时的搜索,我无法想出如何做到这一点,尽管这似乎是很常见的事情。 理想情况下,我希望侧栏中有一个标记列表,每个标记都有复选框。只显示与选中标记匹配的帖子,并使用Ajax更新,而不是重新加载页面。它会将您检查的内容保存到用户配置文件中(页面需要登录)。 如果我也可以拥有显示多个标签的链接,我会满足于简单地拥有一

  • 问题内容: 我有一个div标签,该标签通过ajax调用填充了脚本,但是脚本未执行。 有没有办法使脚本执行? 问题答案: 如果您使用jQuery的方法,它将解析出脚本标签并对其进行评估: 如果没有jQuery,则可以使用(1)正则表达式或(2)解析DOM树并查找脚本标签来自己编写。(#2是jQuery的执行方式)

  • 问题内容: 我正在进行ajax调用来获取内容并像下面这样添加内容: 问题是,当我进行更改时,我什么也没得到(没有错误,只有html)。我假设body是一个标签,就像“ a”一样?我究竟做错了什么? 所以这对我有用: 但这不是: 问题答案: 恐怕通过jQuery对象(即)解析返回的HTML 以获取标记注定会失败。 原因是返回的是(try )。现在,根据jQuery文档,当从包含复杂HTML标记的字符

  • 问题内容: Asp.net Core中是否有Ajax帮助器标签文档的任何链接。我正在尝试使用asp.net核心学习ajax,但没有找到相关文档。在asp.net mvc中,我们使用@ Ajax.Form,然后使用AjaxOptions方法来处理ajax。经过数小时的搜索,我找到了此链接。 https://dotnetthoughts.net/jquery-unobtrusive-ajax-help