【问题标题】:Changing Kendo tab strip text dynamically alters style更改 Kendo 选项卡条文本会动态改变样式
【发布时间】:2015-11-27 12:12:24
【问题描述】:

我需要动态更改选项卡文本,我可以这样做,但是当我更改文本时,设计会发生变化并且看起来很糟糕。

这是我得到的:

$("#tabstrip").kendoTabStrip({
    select: tabstrip_select
});

function tabstrip_select(e) {
    var x = e.item;
    $(x).text($(x).text() + ' - plus changed text');
    //alert('Tab text: ' + $(x).text());    
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://cdn.kendostatic.com/2012.1.322/styles/kendo.common.min.css" rel="stylesheet"/>
<link href="http://cdn.kendostatic.com/2012.1.322/styles/kendo.default.min.css" rel="stylesheet"/>   
<script src="http://cdn.kendostatic.com/2011.3.1129/js/kendo.all.min.js"></script>
<div id="tabstrip">
    <ul>
        <li>Online</li>
        <li>Trading</li>
        <li>Whatever</li>
    </ul>
    <div style="min-height:350px;"></div>
    <div style="min-height:350px;"></div>
</div>

这是Fiddle

我不知道为什么在更改文本后搞砸了,但我需要的是在不影响其他任何内容的情况下更改文本。

【问题讨论】:

    标签: javascript jquery css kendo-ui kendo-tabstrip


    【解决方案1】:
    function tabstrip_select(e) {
        $('#tabstrip ul li .k-link .plusText').remove();
        $(e.item).find('.k-link').append('<span class="plusText"> - plus changed text</span>'); 
    }
    

    你需要再添加一个

    <div style="min-height:350px;"></div>
    

    更新:

    function tabstrip_select(e) {
        var tab = $('#tabstrip ul li .k-link:contains("Online")');
        tab.find('.plusText').remove();
        tab.append('<span class="plusText"> - selected '+$(e.item).find('.k-link').text()+'</span>');
    }
    

    【讨论】:

    • 效果很好!你可以对包含精确字符串的选项卡执行此操作吗?比如,如果标签包含“whatever”,那么添加文本而不是当前选择的标签?
    • 只有在选择“在线”选项卡时才能更改文本 - 我想要的是,无论您选择哪个选项卡,都在“在线”选项卡中添加一些文本,例如
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多