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

如何在下拉更改事件中调用AJAX请求?

楚皓君
2023-03-14
问题内容

index.php

<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ajax.js"></script>

<a href='one.php' class='ajax'>One</a>
<a href='two.php' class='ajax'>Two</a>

<div id="workspace">workspace</div>

一个.php

$arr = array ( "workspace" => "One" );
echo json_encode( $arr );

two.php

$arr = array( 'workspace' => "Two" );
echo json_encode( $arr );

ajax.js

jQuery(document).ready(function(){
    jQuery('.ajax').live('click', function(event) {
        event.preventDefault();
        // load the href attribute of the link that was clicked
        jQuery.getJSON(this.href, function(snippets) {
            for(var id in snippets) {
                // updated to deal with any type of HTML
                jQuery('#' + id).html(snippets[id]);
            }
        });
    });
});

上面的代码运行完美。当我单击链接“ One”时,字符串“ One”被加载到工作区DIV中,而当我单击链接“ Two”时,则字符串“
Two”被加载到工作区DIV中。

题:

现在,我想使用下拉列表在工作区DIV中加载one.php和two.php,而不是index.php中的链接。
当我使用链接时,我在链接属性中使用class =’ajax’,但是如何在下拉更改事件中调用ajax请求呢?

谢谢


问题答案:

像这样更改代码

jQuery('#dropdown_id').live('change', function(event) {
    jQuery.getJSON($(this).val(), function(snippets) {
        for(var id in snippets) {
            // updated to deal with any type of HTML
            jQuery('#' + id).html(snippets[id]);
        }
    });
});

您的下拉菜单应如下所示:

<select id="dropdown_id">
  <option value="one.php">One</option>
  <option value="two.php">Two</option>
</select>


 类似资料:
  • 问题内容: 我使用fullcalendar v4来显示事件。事件在负载中正常显示,但是我需要使用多个复选框添加过滤器,并在使用ajax的onchange复选框之后刷新全日历事件。 更改后,我得到了新的对象事件,但我需要刷新我尝试使用的fullcalendar,但无法正常工作 全日历脚本 阿贾克斯脚本 更改时复选框功能 问题答案: 您没有确切解释代码出了什么问题,但是我可以看到,当您从AJAX调用获

  • 问题内容: 我想向页面URL 添加一些参数。我正在加载这样的内容: 如何更改具有相同参数的URL ? 问题答案: 您可以使用HTML5 pushState API来实现。但是,只有最新的浏览器才支持它,而IE9甚至不支持IE。没有办法做到这一点。但是,有一个约定,您将使用location.hash来指示页面的状态已被ajax请求修改的页面。有关如何使用URL散列来表示你的页面上状态的更多信息,你可

  • 问题内容: 我的MVC视图中的代码为黑色,如下所示: 我想设置ViewData [“ selected”]的值,以便可以将其发送到所需的操作。有人可以建议我该怎么做吗? 谢谢! 问题答案: 为什么不使用表单,而不在下拉菜单中使用jQuery onChange事件?

  • 我在xhtml上有以下组件: 这些值正确来自cCRX1Controller类。然而,当我选择一个选项时,我试图显示该值。#{digrcontroller.testing()}如下所示: 我做错了什么?我检查了这个问题,但不知道问题出在哪里。

  • 问题内容: 我有一个列表框,我想减小其宽度。 这是我的代码: 此代码在IE 6上有效,但在Mozilla Firefox(最新版本)中无效。有人可以告诉我如何减少Firefox上的下拉列表吗? 问题答案: 试试这个代码: CSS: 如果要更改选项的宽度,可以在CSS中执行以下操作: 也许您的CSS规则中有一个冲突,该冲突覆盖了您选择的宽度