LayUIのselect動的連動
LayUIのselect動的連動
連動効果を実現するには、次の点に注意してください.
第一に、selectのchangeイベントを傍受できるようにする.
第2:非同期でロードされたコンテンツは、正常に使用できるように再レンダリングする必要があります.
htmlコード:
js:
1.selectのchageリスニングイベント使用
form.on(‘select(myselect)’,function(data){})ここでmyselectはselectのlay-filter属性値である
2.データをselectのoptionに非同期でロードした後、このselectをクリックするとlayuiの選択効果が機能せず、formを使用する必要がある.render(‘select’); 一度レンダリングし直すと、正常に使用できます.
連動効果を実現するには、次の点に注意してください.
第一に、selectのchangeイベントを傍受できるようにする.
第2:非同期でロードされたコンテンツは、正常に使用できるように再レンダリングする必要があります.
htmlコード:
<form class="layui-form batchinput-form" action="" id="box-form">
<div class="layui-form-item" >
<div class="layui-input-inline">
<label class="layui-form-label"> :label>
<div class="layui-input-block" >
<select name="province" id="province" lay-filter="myselect">
<option value=""> option>
<#list province as provincelist>
<option value="${provincelist.areaId}">${provincelist.fullname}option>
#list>
select>
div>
div>
div>
<div class="layui-form-item">
<div class="layui-input-inline">
<label class="layui-form-label"> :label>
<div class="layui-input-block">
<select name="City" id="City" lay-filter="myselect2" >
select>
div>
div>
div>
<div class="layui-form-item">
<div class="layui-input-inline">
<label class="layui-form-label"> :label>
<div class="layui-input-block">
<select name="Area" id="Area" lay-filter="myselect3">
select>
div>
div>
div>
form>
js:
layui.use(['layer', 'form',"jquery"], function(){
var layer = layui.layer
,$=layui.jquery
,form = layui.form;
form.on('select(myselect)', function(data){
var areaId=(data.value).replaceAll(",","");
$.ajax({
type: 'POST',
url: ' url',
data: {" ":areaId},
dataType: 'json',
success: function(data){
$("#City").html("");
$.each(data, function(key, val) {
var option1 = $(").val(val.areaId).text(val.fullname);
// LayUI.jQuery
$("#City").append(option1);
form.render('select');
});
$("#City").get(0).selectedIndex=0;
}
});
});
});
1.selectのchageリスニングイベント使用
form.on(‘select(myselect)’,function(data){})ここでmyselectはselectのlay-filter属性値である
2.データをselectのoptionに非同期でロードした後、このselectをクリックするとlayuiの選択効果が機能せず、formを使用する必要がある.render(‘select’); 一度レンダリングし直すと、正常に使用できます.