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

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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值