bootstrap-suggest 源代码修改 实现二级联动

来源:互联网 发布:win10网络图标不显示 编辑:程序博客网 时间:2024/06/10 17:14

bootstrap-suggest 源代码修改 实现二级联动

在使用bootstrap-suggest的时候,我发现一个问题,页面载入以后,它所显示的下拉框是无法更改的,
这里写图片描述

但是需求上需要加上一个二级类目,二级类目改变的时候,产品名称的下拉框也随之改变
这里写图片描述

js代码

function suggest(data){    var testBsSuggest=$("#produtName").bsSuggest({        getDataMethod:"data",        showBtn: true,        indexId: 1,        indexKey:0,        data:data        }).on("onDataRequestSuccess",function(e,result){            //console.log("onDataRequestSuccess: ",result)        }).on("onSetSelectValue",function(e,keyword){            //console.log("onSetSelectValue: ",keyword)        }).on("onUnsetSelectValue",function(e){            //console.log("onUnsetSelectValue")        });}$(document).ready(function(){    $("#produtName").focus(function(){         $.ajax({            url: "<%=root%>/queryProduct.do",            type: "POST",            dataType: "json",            data:{                oneCategoryId:$("#oneCategoryId").val(),                twoCategoryId:$("#twoCategoryId").val(),            },            cache:false,             success: function (data) {                suggest(data);               }        });    });});

逻辑,捕捉产品名称的获得焦点事件,获取二级目录的信息,传到后台去获取相应的产品名称列表,然后通过suggest方法将产品名称列表显示出来。

但是!!!!上面也说了,suggest显示出来的值,无法改变,就算传入的data改变了,它所显示的信息依然不会改变,所以我们需要修改源代码

bootstrap-suggest.min.js

打开这个js,去百度一下在线代码格式化,将代码复制进去格式化一下,然后在黏贴过来,
修改的代码如下
这里写图片描述

在237行添加s.data=null;
重置它的data,这样它会重新去获取suggest方法中传入的data

实现了我想要的功能
这里写图片描述

这里写图片描述

如果平台是会判断session失效时间的,最好在ajax那里加判定data数据是否完整的代码

原创粉丝点击