新创建一个下拉框选项,结果select2显示在框里的是空白,下拉菜单里多出来个空白的li

发布于 2022-09-06 03:19:28 字数 4087 浏览 23 评论 0

首先是,这个问题在我本地的服务器是没有出错的,但是上传到公司测试服务器就出现bug了。
然后描述下情况:(可以结合图片看)
1.首先是本地,点“自定义”按钮创建个新的商品品类,然后点击完成后就会在下拉框上边直接显示刚刚创建的商品品类。以及下拉框的下拉菜单里也会创建一个带有品类的li标签。
2.在测试服务器上,走了下上边的流程,结果不光在下拉菜单最后添加了我需要添加的li标签(带有刚刚自定义的商品品类,数据传输是没有问题的),还在下拉菜单最开始加了个空白的li标签(如果我选择其他选项并点击,那么空白li就会消失)
3.我看了一下浏览器控制台,正常的创建的都是带有这个属性的aria-activedescendant="select2-addShopCategory-result-f1qf-35",但是服务器上出错的那个带的属性是这样的aria-activedescendant="select2-addShopCategory-result-gumr-? number:32 ?"
下边是图:
这是本地测试没出错的情况:
图片描述

图片描述

这是测试服务器上出错的情况:
图片描述

图片描述

图片描述

然后是控制台情况:
这是测试服务器出错的情况:
图片描述

这是本地没出错的情况:
图片描述

接下来是代码:

    //html代码
    <div  class="col-sm-5 col-xs-5 ">
         <select id="addShopCategory"  class="form-control selectPd" ng-model="addShopCategorySelect" >
              <option value="">请选择品类</option>
              <option value="{{shopCategory.id}}" ng-repeat="shopCategory in shopCategoryLists">{{shopCategory.goods_type}}</option>
         </select>
     </div>
     <div  class="col-sm-4  col-xs-4  text-center">
         <button class="btn btn-warning btn-sm mR10 w70" ng-click="addCustomShopCategory()">自定义</button>
         <button class="btn btn-default btn-sm w70" ng-click="delCustomShopCategory(addShopCategorySelect)">删除</button>
     </div>
     
     //js代码:(用的angular.js,定义APP、控制器啥的那些就不贴了...)
    // $('#addShopCategory').select2();
    $("#addStoreShopModal").on("shown.bs.modal", function(){
        $("#addShopCategory").select2({
            language: "zh-CN",
            dropdownParent:$("#addStoreShopModal")
        });
    });
    
    //获取所有的商品品类
    $scope.getAllShopCategoryLists = function(){
        $http.get('/shop/get-goods-type-data').then(function(response){
            $scope.shopCategoryLists = response.data.data;
        });
    }
    //获取自定义添加商品类型数据
    $scope.getAddCustomShopCategoryData = function(){
        return {
            typeName       :$scope.customShopCategoryName!= undefined && $scope.customShopCategoryName != ''? $scope.customShopCategoryName :null,
        }
    }
    //完成自定义商品品类
    $scope.customShopCategoryComplete = function(){
        if($scope.customShopCategoryName== undefined || $scope.customShopCategoryName == ''|| $scope.customShopCategoryName ==null){
            Message.warning('请输入自定义商品品类');
            return;
        }
        $http({
            url:'/shop/set-goods-type',
            method:'POST',
            data: $.param($scope.getAddCustomShopCategoryData()),
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        }).then(function(response){
            if(response.data.status == "success"){
                Message.success(response.data.data);
                //如果自定义添加成功了就把自定义品类的模态框给关闭
                $('#customShopCategoryModal').modal('hide');
                //获取所有的商品品类
                $scope.getAllShopCategoryLists();
                //品类id为添加成功的品类的id
                //addShopCategorySelect是select的ng-model的值,也是删除按钮里传的参数
                $scope.addShopCategorySelect  = response.data.id;
            }else{
                Message.warning(response.data.data);
            }
        });
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不如归去 2022-09-13 03:19:28

用ng-options啊

https://docs.angularjs.org/ap...

<select ng-options="item as item.label for item in items track by item.id" ng-model="selected"></select>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文