1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > layui下拉框实现可输入 可选择

layui下拉框实现可输入 可选择

时间:2022-08-27 23:31:40

相关推荐

layui下拉框实现可输入 可选择

想要实现可输入,可选择,可以直接定义两个标签(input、select),对下拉框进行监听,将下拉框的值赋值给input

html代码

<div class="layui-inline"><label class="layui-form-label">机&nbsp;构&nbsp;名&nbsp;称<fontcolor="red">*</font></label><div class="layui-input-inline"><input type="text" name="name" id="agencyName" lay-verify="required" style="position:absolute;z-index:2;width:80%;"placeholder="请输入或选择机构名称" lay-reqtext="机构名称不能为空" class="layui-input" autocomplete="off"/><select name="confidentialityAgencyName" id="confidentialityAgencyName" lay-filter="confidentialityAgencyName"></select></div></div>

position:absolute 在这里是让input和select在同一位置。

z-index:2 是为了让input在select上面。

width:80% 是为了不盖住select后面的小三角符号,select还可以点击。

autocomplete=“off” 为了不自动填充input框,免得压盖select选项

定义下拉框下拉数据,对下拉框进行监听

js代码

<script>layui.use(['form','layselect','formSelects'], function () {var form = layui.form,layer = layui.layer,$ = layui.$;var formData=parent.formData;//拿到父页面数据//机构名称select下拉框var layselectconfidentialityAgencyName = layui.layselect;layselectconfidentialityAgencyName.render({elem:"#confidentialityAgencyName",url:'/core/confidentialityagency/selectname',//归属类型select:(formData==null?undefined:formData.name),format:function(data){return{code:data.id,codeName:data.name};return data;}});//监听机构select下拉框form.on('select(confidentialityAgencyName)', function (data) {/* if(data.value!=null&&data.value!=""&&data.value!=undefined){selectAgencyName(data.value);} */selectAgencyName(data.value);});});//监听机构名称下拉框,为input赋值function selectAgencyName(value){$.ajax({url:'/core/confidentialityagency/getconfidentialityagency',method:'get',data:{data:value},async: false,success: function (data) {if(data.code==-1){$('#agencyName').val("");//输入框为空}if(data.code==0){$('#agencyName').val(data.data.name);//输入框赋值}//渲染selectform.render("select");},error:function (data) {alert("selectreach"+data.msg);}});}</script>

后端代码

//机构下拉框/core/confidentialityagency/selectname@RequestMapping("/confidentialityagency/selectname")@ResponseBodypublic List<ConfidentialityAgency> getConfidentialityAgencyName() {return confidentialityAgencyService.getConfidentialityAgencyName();}//监听机构下拉框/core/confidentialityagency/getconfidentialityagency@GetMapping("/confidentialityagency/getconfidentialityagency")@ResponseBodypublic JsonResult getConfidentialityAgency(String data) {System.out.println("------------------"+data);return confidentialityAgencyService.getConfidentialityAgency(data);}

service层

@Overridepublic List<ConfidentialityAgency> getConfidentialityAgencyName() {List<ConfidentialityAgency> list = confidentialityAgencyMapper.selectList(null);return list;}@Overridepublic JsonResult getConfidentialityAgency(String data) {if (data == null || data.isEmpty())throw new IllegalArgumentException("数据不存在,请输入或者重新选择");ConfidentialityAgency cAgency = confidentialityAgencyMapper.selectById(data);return JsonResult.success("select ok", cAgency);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。