原创

基于layui的select多级关联选择Ajax版级联选择


很多网站的分类不是1级的,可能是2级或者3级,级联选择进行分类就尤为重要,这里我基于layui实现了一款级联选择器,方法比较笨拙,但是理解起来比较简单,相信入门级别的同学都能看懂,下面直接上教程了

基于layui的select多级关联选择Ajax版级联选择

1:部署id选择器如下 html部分

  1. <div class="layui-input-inline">
  2. <div id="cate1"></div>
  3. </div>
  4. <div class="layui-input-inline">
  5. <div id="cate2"></div>
  6. </div>

我的是2级联动,所有我部署了2层id选择器,同学们根据自己的需要进行部署

2:js部分

  1. layui.use('form', function(){
  2. var form = layui.form;
  3. //文章提交保存
  4. form.on('submit(info)', function(data){
  5. var url = "{:url('article/save')}";
  6. $.post(url,data.field,function (e) {
  7. if(e.code ==200){
  8. success(e.msg);
  9. setTimeout("location.reload()",2000);
  10. }else {
  11. error(e.msg);
  12. }
  13. })
  14. return false;
  15. });
  16. //ajax获取分类数据
  17. function getCate(pid,name,id){
  18. var url = "{:url('article/get_cate')}";
  19. $.post(url,{pid:pid},function (e) {
  20. //console.log(e)
  21. var html="";
  22. var data = e.data;
  23. html += '<select name="cate_id" id="'+name+'_id" lay-filter="'+id+'" lay-verify="required">';
  24. html += '<option value="">请选择</option>';
  25. for (var i = 0;i<data.length;i++){
  26. html += "<option value='"+data[i].id+"'>"+data[i].name+"</option>";
  27. }
  28. if(data.length > 0){
  29. $("#"+id).html(html);
  30. }else {
  31. $("#"+id).children().remove();
  32. }
  33. html += '</select>';
  34. form.render();
  35. })
  36. };
  37. getCate(0,'cate_id','cate1');
  38. //目前系统无三级分类,故二级即可实现需求
  39. form.on('select(cate1)', function(data){
  40. //console.log(data.elem); //得到select原始DOM对象
  41. //console.log(data.value); //得到被选中的值
  42. //console.log(data.othis); //得到美化后的DOM对象
  43. getCate(data.value,"cate_id",'cate2')
  44. });
  45. });

说明: form.on(‘select(cate1)’函数

其中方法针对 form.on(‘select(cate1)’
由于我是2级联动,故只组要一次 词函数 其中 cate1 代表步骤1第二个中id值,即:获得值后,需要将组装完成的html,append到ID为cate1的html元素中
以此类推,如果您是3级联动则需要2个form.on(‘select(cate1)’函数

说明: getCate(pid,name,id)函数

pid当前要请求的pid值,如我页面中初始加载这pid为0,加载第二层则传递第二层的id值
name 我们需要传递给后端的name属性,我的胃分类id 即:cate_id
id当获取到值后,将组合好的html,append到对应的id下组成下拉选择框select

结语:本教程可能真正使用到的人员不是很多,但是希望对有需要的人起到帮助作用。

留言反馈
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈