Home  >  Q&A  >  body text

javascript - 如何根据下拉菜单选择后通过ajax获取后台数据并且不刷新页面

我想通过一组下拉菜单,然后取选择其中的一个的时候,根绝选择的列表标题筛选出符合条件的列表,展示在下面的页面中,请问代码怎么实现

巴扎黑巴扎黑2719 days ago984

reply all(6)I'll reply

  • 巴扎黑

    巴扎黑2017-04-11 09:09:46

    $('select').change(function(){//监控select的change事件
        var dom = document.getElementById('id'),
        data = dom.options[dom.selectedIndex].value;//选中的option的value;
    
        ajax({});
        
    });

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-11 09:09:46

    大概有如下几个步骤:

    1. 获取到选中下拉菜单的值(ID/标题,一般情况下会获取ID,到后台根据这个ID到数据库获取对应的数据)

    2. 发送到后端

    3. 后端根据前端发送的参数取值,查询数据库,然后组装成你想要的格式类型,返回给前端

    4. 前端实行html操作(内容更新)

    5. 代码实现如下(用的jQuery)

    <script type="text/javascript">
        $("select").change(function() {
            var title = $(this).text();  // 1、获取选择下拉框的标题
            //var id  = $(this).val();  获取选中的ID值
            var url   = "";  //这里填写后端的url 
            $.ajax({   //2、发送给后端
                url: url, 
                type: 'POST',  //设置发送的方式 这里假设为POST
                dataType: 'html',  //返回的数据类型
                data: {title: title},  //把选中的标题发给后端
                success:function(data) {
                    // 4、这里写成功后更新页面的操作
                }
            })
        });
    </script>
    <?php
    $title = $_POST['title']; //接收参数  选中的ID或者标题
    
    //3、根据这个标题或者ID 去数据库查询匹配到的相关的内容 然后根据需求组装成html格式
    
    echo $html;  //返回给前端
    exit;

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 09:09:46

    大概分三步:

    1、ajax请求后端接口,接口返回数据。(一般返回json)
    2、ajax在回调函数里面,解析数据。
    3、把数据写到页面,看你情况用html还是append

    reply
    0
  • 高洛峰

    高洛峰2017-04-11 09:09:46

    好宽泛的问题;先了解以下“js模板”把;

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 09:09:46

    $("select").onchange(function(){
        console.log($(this).val());//这里的this.val 就是当前选中的option的val 根据这个val 进行逻辑判断
    })

    建议再log 那里在写一个函数传value 过去进行逻辑操作

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-11 09:09:46

    楼上回答的都很好,无非是javascript的onchange事件

    reply
    0
  • Cancelreply