jquery- onchange 事件选项卡内容未正确显示

jquery- On onchange event tab content is not getting displayed properly

下面是我的HTML代码:

<select id="sourceNameDropdownId" label="condition " style="width:300px;">
</select>
<div id="tabs" class="selector">
</div>

这是我的javascript代码:

 $("#DropdownId").change(function () {
     var sid= $("#DropdownId option:selected").text();
     afterclick(sid);
 });

我在下拉列表上调用一个 onchange 事件,我传递给函数的 selected 值 afterclick

function afterclick(sid){
          var tabsContainer = document.getElementById("tabs");
          var crawlTab=document.createElement("ul");

         //here in my actual code i am making a ajax call to fetch values for crawlList, providing static values here

          var crawlList=["name1","name2","name3","name4"];

          $.each(crawlList, function( index, crawlType ) {

                var crawlTabElement=document.createElement("li");
                crawlTabElement.innerHTML= '<a href="' +"#"+crawlType + '">' +crawlType+'</a>';
                crawlTab.appendChild(crawlTabElement);

          });

          tabsContainer.appendChild(crawlTab);
          var count=1;var tabCount=1;

          $.each(crawlList, function( index, crawlType ) {
              var contentCrawlTab=document.createElement("div");
              contentCrawlTab.setAttribute("id",crawlType);
              var p='<p>'+crawlType+'</p>';

              contentCrawlTab.innerHTML=p;
              tabsContainer.appendChild(contentCrawlTab);

          });
          $( ".selector" ).tabs();

  }

当第一次加载页面并且从下拉列表中 select 编辑值时,此代码工作正常,但是当我重新 select 下拉选项卡中的值时,没有得到正确显示。 这是当我 select 页面加载后第一次值。

当我重新select下拉菜单中的值时,它显示如下-

是否有类似 reload 的东西来重新加载 tabs div 完全,因为它似乎附加了以前的值下次调用 afterclick 函数时,选项卡元素无法正确显示。 我也尝试清除 "tabs" div,使用 **$( "#tabs " ).empty()** 但它对我不起作用。

请帮帮我。

检查此工作代码。

$().ready(function () {
        $(".selector").tabs();
        $("#DropdownId").change(function () {
            var sid = $("#DropdownId option:selected").text();
            afterclick(sid);
        });
    });
    function afterclick(sid) {
        var tabsContainer = document.getElementById("tabs");
        tabsContainer.innerHTML = '';
        var crawlTab = document.createElement("ul");

        //here in my actual code i am making a ajax call to fetch values for crawlList, providing static values here

        var crawlList = [sid + "1", sid + "2", sid + "3", sid + "4"];

        $.each(crawlList, function (index, crawlType) {
            if (crawlType != null) {
                var crawlTabElement = document.createElement("li");
                crawlTabElement.innerHTML = '<a href="' + "#" + crawlType + '">' + crawlType + '</a>';
                crawlTab.appendChild(crawlTabElement);
            }
        });

        tabsContainer.appendChild(crawlTab);
        var count = 1; var tabCount = 1;

        $.each(crawlList, function (index, crawlType) {
            if (crawlType != null) {
                var contentCrawlTab = document.createElement("div");
                contentCrawlTab.setAttribute("id", crawlType);
                var p = '<p>' + crawlType + '</p>';

                contentCrawlTab.innerHTML = p;
                tabsContainer.appendChild(contentCrawlTab);
            }

        });
        $(".selector").tabs('destroy');
        $(".selector").tabs();

    }
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<select id="DropdownId" label="condition " style="width:300px;">
    <option selected="selected" disabled="disabled">--Select--</option>
    <option>Bilna-ID</option>
    <option>IndiatimesShopping</option>
</select>
<div id="tabs" class="selector">
</div>