当前位置: 首页 > 知识库问答 >
问题:

使用ajax的下拉式onchange

岳鸿畴
2023-03-14

我的表单中有一个下拉列表,用于过滤数据。我使用ajaxonchange函数根据所选列表过滤数据。

我的下拉列表如下所示:

<select id="opt_level" name="opt_level">
    <option value="level1">Level 1</option>
    <option value="level2">Level 2</option>
    <option value="level3">Level 3</option>
</select>

这是我想要显示onchange数据的div:

<div id="opt_lesson_list">
    <!-- Some statement here -->
</div>

当有onchange on下拉列表时,它将通过以下ajax功能:

jQuery(document).ready(function($) {
    $("#opt_level").on('change', function() {
        var level = $(this).val();
        if(level){
            $.ajax ({
                type: 'POST',
                url: 'example-domain.com',
                data: { hps_level: '' + level + '' },
                success : function(htmlresponse) {
                    $('#opt_lesson_list').html(htmlresponse);
                    console.log(htmlresponse);
                }
            });
        }
    });
});

然后转到url示例域。com检查是否有来自ajax的帖子:

if(isset($_POST['hps_level'])){
    // Statement to select from database
}

因此,过滤完成后,

编辑

My PHP只是根据所选值从数据库中筛选数据:

if(isset($_POST['hps_level'])){
    $sql = "SELECT DISTINCT(hps_lessons) FROM holiday_program_setup WHERE hps_level = '".$_POST['hps_level']."'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo '<ul class="list-unstyled subjects">';
            echo '<li class="bordered" style="width: 30%;">';
            echo $row['hps_lessons'];
            echo '</li>';
            echo '</ul>';
        }
    }
    $sql = NULL;
}

如果我echo$_POST['hps_level'] 我可以获得所选下拉列表的值。


共有2个答案

韶亮
2023-03-14

提供有效的url,becz数据过滤器至hps_级别

jQuery(document).ready(function($) {
    $("#opt_level").on('change', function() {
        var level = $(this).val();
        alert(level);
        if(level){
               $.ajax ({
                type: 'POST',
                url: 'example-domain.com',
                data: { hps_level: '' + level + '' },
                success : function(htmlresponse) {
                    $('#opt_lesson_list').append(htmlresponse);
                    alert(htmlresponse);
                },error:function(e){
                alert("error");}
            });
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select id="opt_level" name="opt_level">
    <option value="level1">Level 1</option>
    <option value="level2">Level 2</option>
    <option value="level3">Level 3</option>
</select>

<div id="opt_lesson_list">
    <!-- Some statement here -->
</div>
高修筠
2023-03-14

我的整个表单是相乘的,并显示在我用来显示onchange数据的div中。

似乎您正在指向ajax url示例域。com到所有html页面所在的页面,ajax将整个html页面返回到div响应

尝试创建另一个空白php页面,并将您的phpisset代码放入新的php文件中。

if(isset($_POST['hps_level'])){
    // Statement to select from database
}

用新的php文件url替换你的ajax url。通过这样做,您的ajax将从新文件中获取所有数据并显示在响应div中。

 类似资料:
  • 问题内容: 就像标题中所说的那样,尽管我对尚未付诸实践的理论很熟悉,但我仍在尝试使用jQuery,JSON和AJAX创建下拉菜单,因此,任何建议,演示代码段或教程都将不胜感激,因为我想开始最好的开始! 提前感谢! 问题答案: 您需要执行$ .getJSON调用以从document.load或其他一些事件http://api.jquery.com/jQuery.getJSON/上的服务器中获取jso

  • 问题内容: 我有以下代码以生成级联下拉列表,但是由于某种原因,ajax发布无法正常工作。我可以获取它以填充状态列表,当我选择一个状态时,我会向我显示正确的值,但是当需要发布到fetch_state.php时,它似乎发布了null。有人可以帮我解释为什么这样做吗? 这是下面的代码 fetch_state.php 我不断收到错误 问题答案: 首先,将您更改为 然后用引号引起来 同时,把块出来的,只是有

  • 问题内容: 因此,我有一个使用ColdFusion的项目,并且该项目的表单带有下拉菜单。 选择下拉列表后,我需要做的是针对ajax调用来调用ColdFusion cfc,该cfc返回信息以填写下拉列表下的表单。 以上面的小提琴为例,如果用户选择“ 2”,则名称字段将具有Bob,Fake Street 202和111-555-1234。如果他们选择“ 3”,他们将从CFC(数据库)返回任何其他信息。

  • 问题内容: 我有一些面板内的组合框: 在我将项目更新到.NET 4之前还可以,在将项目(和AJAX)更新到.net4之后,这看起来真的很奇怪……我无法解释正确,我将显示: 我该如何解决?:)完整的CSS / ASPX页面在这里-> https://github.com/nCdy/Issues/tree/master/Ajax%20ComboBox(字符串#287) 问题答案: 我有一个类似的问题,

  • 我试图从2个Ajax下拉字段中选择一个特定的值。第一个下拉选项列表打开,但没有选择选项,这就是为什么第二个下拉列表没有绑定并且错误发生的原因 org.openqa.selenium.nosuchelementException:找不到Element:option[value=“111”]。 请帮帮我..我是硒的新手 这是我的代码..

  • 我正在尝试创建一个下拉动画。当用户点击指定的按钮时,我希望视图向下/向上滑动(/)。 以下是布局文件的外观: 这就是我所尝试的: 我在 滑下去。xml slide_up.xml 然后我试着通过以下方式来处理这个问题: 我关注了这篇帖子,但当我点击按钮时,什么都没发生。在logcat中,它只向下打印。