输出框弹出级联选择框方法应用

2 篇文章 0 订阅
1 篇文章 0 订阅

1 页面上加一个div,用于放级联选择框

<div id="selectDiv" 

style="display:none;position:absolute;background-color:#BFEBEE;border:1px ;padding:1px;font-size:1px" ></div>


2 隐藏域用于回写值

<input type="text" title="${param['regionInput']}" id="regionInput" name="regionInput" size="10" value="${param['regionInput']}"  readonly="readonly" />
<input type="hidden" id="regionid" name="filter_EQS_regionid" value="${param['filter_LIKES_regionid']}" />


3 脚本事件

   $(document).ready(function() {


//  ajax 取数据构建多级选择框
$("#regionInput").click(function(){
var selectType = $("<select>");
selectType.attr("id","selectTypeId");
var optionStr = '<option value="0">--类型---</option><option value="004">004</option><option value="003">003</option><option value="002">002</option>';
selectType.append(optionStr);
// second select
var selectRegion = $('<select id="selectId" name="selectId"><option value="">--未选择--</option></select>');


$("#selectDiv").html("");//原内容清空
$("#selectDiv").append(selectType);
$("#selectDiv").append(selectRegion);

$("#selectDiv").css("left",$(this).offset().left);
$("#selectDiv").css("top",$(this).offset().top+20);
$("#selectDiv").show();

$("#selectTypeId").bind("change",function(){

var typeid = $(this).val();
//alert(typeid!=0);
if(typeid!='0'){
var url = "getJsonSelect2.action?regionTypeId="+typeid;
$("#selectId").empty();
var isExistOption = false;
$.getJSON(url,function(result){
$.each(result,function(i,field){
if(isExistOption==false){
isExistOption=true;
$("#selectId").append("<option value='' >--未选择--</option>");
}
$("#selectId").append("<option value='"+field.id+"'>"+field.mc+"</option>");
});
if(isExistOption==false){
$("#selectId").append("<option value=''>--无选项--</option>");
}
});
}
else{
$("#selectId").empty();
$("#selectId").append("<option value=''>--未选择--</option>");
$("#regionInput").val("");
$("#regionid").val("");
}

// second select even
$("#selectId").bind("change",function(){
var regionid = $(this).val();
var regiontext = $(this).find("option:selected").text();//or $("#selectId option:selected").text();
if(regionid!=''){
$("#regionInput").val(regiontext);
$("#regionid").val(regionid);

$("#selectDiv").css("display","none");//close div
$("#selectDiv").html("");//内容清空

}
});



});
});

                //   很重要,用于点击非选择框和非相应输入框时,div做隐藏处理
$(document).click(function(e){
var clickid = e.srcElement.id;
if(clickid!='selectDiv' && clickid!='regionInput'&& clickid!='selectTypeId'&& clickid!='selectId'){
$("#selectDiv").css("display","none");//close div
$("#selectDiv").html("");//内容清空
}
});

});//end ready

好的,以下是一个简单的若依架中使用级联选择器的代码示例。假设您已经安装了若依架和 element-ui,代码如下: 在 Vue 组件中引入 Cascader 组件: ``` <template> <div> <el-cascader :options="options" v-model="selectedOptions" @change="handleChange" :props="{ expandTrigger: 'hover' }" placeholder="请选择" ></el-cascader> </div> </template> <script> export default { data() { return { options: [ { value: 'zhinan', label: '指南', children: [ { value: 'shejiyuanze', label: '设计原则', children: [ { value: 'yizhi', label: '一致', }, { value: 'fankui', label: '反馈', }, { value: 'xiaolv', label: '效率', }, { value: 'kekong', label: '可控', }, ], }, { value: 'daohang', label: '导航', children: [ { value: 'cexiangdaohang', label: '侧向导航', }, { value: 'dingbudaohang', label: '顶部导航', }, ], }, ], }, ], selectedOptions: [], }; }, methods: { handleChange(value) { console.log(value); }, }, }; </script> ``` 在这个示例中,我们使用了 element-ui 的 Cascader 组件,并传入了一个 options 数组作为级联选择器的数据源。selectedOptions 用于双向绑定当前选中的选项。@change 监听选项变化事件,handleChange 方法会在选项变化时触发,并打印选中的选项的值。 注意,这里我们使用了 :props="{ expandTrigger: 'hover' }" 来设置展开子菜单的触发方式为鼠标悬停。您可以根据自己的需求调整这个属性。 希望这个示例能够帮到您。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值