【问题标题】:Extjs Combobox set color to specific itemExtjs Combobox 为特定项目设置颜色
【发布时间】:2013-08-15 10:24:56
【问题描述】:

有没有办法设置组合框项目的最后一项(或最后两项)的颜色,我尝试使用 TPL 但没有用。这是在我更新之前定义的 XTeplate 的 TPL 定义。非常感谢。

var resultTplHesap103Ekod = new Ext.XTemplate(
 '<tpl for="."><div class="x-combo-list-item">',
 '<h3><span> {val}  </h3>',
 '<span style="color:blue"> {dsc}  </span>', '</div></tpl>'
);

来自@MMT,

我改变了这样的代码。

var resultTplHesap360Ekod = new Ext.XTemplate(
        '<tpl for=".">',
            '<tpl if="(xindex ) &gt; (xcount-1)">',
               '<tpl>',
                    '<div class="x-combo-list-item">',
                    '<h3> {val}  </h3>',
                    '<span style="color:red"> {dsc}  </span>', 
                    '</div>',
               '</tpl>',
            '</tpl>',

            '<tpl if="(xindex ) &lt; (xcount-2)">',
               '<tpl>',
                    '<div class="x-combo-list-item">',
                    '<h3> {val}  </h3>',
                    '<span style="color:blue"> {dsc}  </span>', 
                    '</div>',
               '</tpl>',
            '</tpl>',
        '</tpl>'
    );

var comboHsp360EkodHarcama = new Ext.form.ComboBox({
            fieldLabel : '',
            labelSeparator : '',
            triggerAction : 'all',
            mode : 'local',
            store : storeHesapTasinirHeskod360,
            displayField : 'dsc',
            valueField : 'val',
            emptyText : 'Damga Vergisi Türü',
            forceSelection : true,
            hidden : true,
            forceSelection : true,
            tpl : resultTplHesap360Ekod,
            width : 300,
            listClass : 'x-combo-list-item'
        });

var storeHesapTasinirHeskod360 = new Ext.data.JsonStore({
            url : '../gen/hesapTasinir.ajax',
            root : 'list',
            fields : ['dsc', 'val']
        });

现在代码正在运行,非常感谢@MMT,最后一项(目前)是红色的,这对我很重要,但现在我遇到了另一个问题。当我选择最后一个 RED 项目时,它在顶部 ob 框的文本字段中显示为黑色。你能帮我让它保持红色吗?问候。

【问题讨论】:

    标签: extjs combobox


    【解决方案1】:

    试试这个

        var tpl = new Ext.XTemplate(
            '<tpl for=".">',
                '<tpl if="(xindex ) &gt; (xcount-2)">',
                   '<tpl>',
                        '<div class="x-combo-list-item">',
                        '<h3> {value}  </h3>',
                        '<span style="color:red"> {name}  </span>', 
                        '</div>',
                   '</tpl>',
                '</tpl>',
    
                '<tpl if="(xindex ) &lt; (xcount-2)">',
                   '<tpl>',
                        '<div class="x-combo-list-item">',
                        '<h3> {value}  </h3>',
                        '<span style="color:blue"> {name}  </span>', 
                        '</div>',
                   '</tpl>',
                '</tpl>',
    
            '</tpl>'
        );
    

    【讨论】:

    • 非常感谢@MMT,但它仍然不起作用,我开始认为这里有一段代码可以覆盖我们的代码。我确定我在正确的组合框上,但最后一项文本仍然是黑色的。
    • 顺便说一句,我刚刚注意到我们的 TPL 代码是在页面加载时呈现的,但是我需要在将 store 加载到组合框后呈现它应该呈现的东西。这里能给你一点线索吗?非常感谢。
    • 用这个模板设置combo的tpl属性
    • 我已经做到了。但仍然无法正常工作。我将发送上面的所有代码。谢谢@MMT
    • 亲爱的@MMT 它起作用了,但是当我选择红色项目时,它在盒子顶部看起来是黑色的,但我希望它仍然保持红色;你知道如何处理吗?谢谢。
    猜你喜欢
    • 2014-03-21
    • 1970-01-01
    • 2017-02-21
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    相关资源
    最近更新 更多