layui框架中的select标签ajax请求

layui

layui框架中的封装的各种标签很方便,美观,能满足大多数需求

但是layui框架中select标签,不能使用原始的ajax进行请求

这里需要进行稍微的修改,就可满足需求

ajax

html代码

首先 我们要先给select设置一个值

lay-filter="scienceid"

 	<div class="layui-form-item  layui-row layui-col-xs12">
            <label class="layui-form-label required">景区名称</label>
            <div class="layui-input-block">
                <select name="scienceid" lay-verify="required" lay-verify="required" onchange="ajax()" lay-filter="scienceid">
					<option value="">请选择</option>
					{foreach $list as $vo}
						<option value="{$vo.id}" >{$vo.name|raw}</option>
					{/foreach}
                </select>
            </div>
        </div>
		<div class="layui-form-item  layui-row layui-col-xs12">
            <label class="layui-form-label required">景点名称</label>
            <div class="layui-input-block" >
                <select id="place" name="placeid" >
				
				<option value="">请选择景点名称</option>
			</select>
				
            </div>
        </div>

ajax

form.on('select(scienceid)', function(data){ }

然后在这里面写当select触发onchange时的函数方法

	<script>
	layui.use(['layer', 'jquery', 'form'], function () {
			var layer = layui.layer,
					$ = layui.jquery,
					form = layui.form;
 
			form.on('select(scienceid)', function(data){
				$.ajax({
				type:"post",
				url:'science',
				data:{science:data.value},//这里data传递过去的是序列化以后的字符串
				success:function(msg){
					$("#place").empty();				
					$("#place").append("<option value=''>请选择景点名称</option>");				
					if(msg == ''){
						$("#place").append("<option value=''>暂无景点</option>");
						form.render('select');
					}else{
						$.each(msg, function(key, val) {
							$("#place").append('<option value='+val.id+'>'+val.name+'</option>');
							form.render('select');
						});
					}
				}
			});
			});
		});
		
	</script>

注意

$("#place").empty();

每次请求完将上一次的请求结果清空,否则结果会一直叠加
form.render('select');
将查询的内容放入select标签中,否则查询出来的结果无法正常显示

效果图就不放了,根据需求自行修改

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值