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

标签 javascript jquery tabs jquery-ui-tabs

下面是我的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 事件,并将选定的值传递给函数 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();

  }

当第一次加载页面并从下拉列表中选择一个值时,此代码工作正常,但是当我从下拉选项卡中重新选择值时,无法正确显示。 这是我在加载页面后第一次选择值。 enter image description here

当我从下拉列表中重新选择值时,它的显示如下-

enter image description here

是否有像 reload 这样的东西来完全重新加载 tabs div,因为它似乎附加了以前的值和下一次 afterclick称为选项卡元素的功能未正确显示。 我也尝试使用 **$( "#tabs ").empty()** 清除“制表符”div,但它对我不起作用。

请帮帮我。

最佳答案

检查此工作代码。

$().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>

关于javascript - jquery-onchange 事件选项卡内容未正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43205785/

相关文章:

javascript - 内容样式未应用于 GitHub 中的文本文件

javascript - jQuery UI ToolTip 位置的奇怪行为

javascript - 如何使用多阵列启动localStorage

javascript - 将 Ideal 与 stripe 集成到 Node.js 中

javascript - sidenav 关闭时按钮不起作用

php - 重命名 Woocommerce 单个产品页面中的描述选项卡

ios - 有条件地刷新 tabBarController 中的 View

javascript - 通过单击相关选项卡渲染多个局部 View

javascript - ASP.NET 更改页面时更改 session 值

javascript - 使用带有 asc 和 desc 的纯 jquery 进行表排序?