Maison > développement back-end > tutoriel php > javascript - 如何根据下拉菜单选择后通过ajax获取后台数据并且不刷新页面

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

WBOY
Libérer: 2023-03-03 09:30:01
original
2044 Les gens l'ont consulté

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

回复内容:

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

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

    ajax({});
    
});</code>
Copier après la connexion

大概有如下几个步骤:

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

  2. 发送到后端

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

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

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

<code><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></code>
Copier après la connexion
<code><?php $title = $_POST['title']; //接收参数  选中的ID或者标题

//3、根据这个标题或者ID 去数据库查询匹配到的相关的内容 然后根据需求组装成html格式

echo $html;  //返回给前端
exit;</code></code>
Copier après la connexion

大概分三步:

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

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

<code>$("select").onchange(function(){
    console.log($(this).val());//这里的this.val 就是当前选中的option的val 根据这个val 进行逻辑判断
})</code>
Copier après la connexion

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

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal