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

xiaoxiao2021-02-28  98

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数据是否完整的代码

转载请注明原文地址: https://www.6miu.com/read-40632.html

最新回复(0)