为什么来自一个事件的数据被另一个事件覆盖?

时间:2015-10-23 18:49:51

标签: jquery

我有两个切换按钮。

点击每个切换按钮,我显示不同的数据。

我面临的问题是,点击第二个切换按钮后,第一个切换按钮的数据将被第二个切换按钮的数据覆盖。

https://jsfiddle.net/gx4nj1Lg/1/

我的代码的一部分

  jQuery('#toggle-view li').click(function() {
        jQuery('div.p').html("");

        var clcikedon = jQuery(this).attr("id");
        if (clcikedon === 'first') {
             var itemshtml = '<table class="table table-striped">';
            for (var i = 0; i < firstdata.length; i++) {
                itemshtml += ' <tr>\
            <td>' + firstdata[i].date + '</td>\
            <td>' + firstdata[i].name + '</td>\
            </tr>'
            }
             itemshtml += '</table>';
        } 

你能告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

你的问题在于这一行:

jQuery('div.panel').html(itemshtml);

它用一类面板设置所有div的html。这是第一和第二小组中的div。

使用jQuery find功能在特定元素中搜索:

jQuery(this).find('div.panel').html(itemshtml);

在点击下拉菜单之前,您是否有理由不在两个面板中设置html?下拉菜单必须打开和关闭。

看看这个小提琴:https://jsfiddle.net/gx4nj1Lg/4/