javascript - 如何根据下拉菜单选择后通过ajax获取后台数据并且不刷新页面
巴扎黑
巴扎黑 2017-04-11 09:07:46
0
6
1066

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

巴扎黑
巴扎黑

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

    ajax({});
    
});
Peter_Zhu

大概有如下几个步骤:

  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;
洪涛

大概分三步:

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

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

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

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

Peter_Zhu

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

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template