gpt4 book ai didi

html - EXTJS 4 在组合框中呈现所选值的 HTML

转载 作者:太空狗 更新时间:2023-10-29 13:09:16 34 4
gpt4 key购买 nike

你好,我有下一个问题,我想在组合框中呈现我的显示值的 html,在我加载商店时准备好 html 时,它会在我显示所有这些时呈现 html,但是当我选择一个,它显示 html。

当项目已被选中时,我该怎么做才能呈现 html?

这里有一些图片可以帮助解释不便之处:

这是我要选择一个的时候

http://i.stack.imgur.com/TcfRA.jpg

这是我选择一个的时候

http://i.stack.imgur.com/Kzi9r.jpg

我正在渲染的 Html 是下一个:

<img class="io_img" src="/files/images/io-P.gif"/><div class="io_desc">hola</div></div>

提前致谢。

PD:很抱歉没有显示图片,只显示链接,但我没有足够的声誉来直接显示图片。

最佳答案

这需要几个步骤。问题是 ComboBox 下面有输入字段,输入不能显示 html。所以第一步是更改模板,用 div 替换输入。例如:

fieldSubTpl: [
'<div class="{hiddenDataCls}" role="presentation"></div>',
'<div id="{id}" type="{type}" ',
'<tpl if="size">size="{size}" </tpl>',
'<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>',
'class="{fieldCls} {typeCls}" autocomplete="off"></div>',
'<div id="{cmpId}-triggerWrap" class="{triggerWrapCls}" role="presentation">',
'{triggerEl}',
'<div class="{clearCls}" role="presentation"></div>',
'</div>',
{
compiled: true,
disableFormats: true
}
]

然后更改显示所选值的模板:

displayTpl: Ext.create('Ext.XTemplate', [ 
'<tpl for=".">',
'<img src="http://phpbb3.pl/adm/images/icon_edit.gif" />',
'{[typeof values === "string" ? values : values["title"]]}',
'</tpl>'
])

另一件事是创建新的列表项模板。例如:

listConfig: {
getInnerTpl: function() {
return '<div class="search-item">' +
'<h3><img src="http://phpbb3.pl/adm/images/icon_edit.gif" /><span>{[Ext.Date.format(values.lastPost, "M j, Y")]}<br />by {author}</span>{title}</h3>' +
'{excerpt}' +
'</div>';
}
}

最后一件事 - 您必须确保将值正确设置到 div 中。为此,您应该覆盖 setRawValue 方法:

setRawValue: function(value) {
var me = this;
value = Ext.value(value, '');
me.rawValue = value;

// Some Field subclasses may not render an inputEl
if (me.inputEl) {
// me.inputEl.dom.value = value;
// use innerHTML
me.inputEl.dom.innerHTML = value;
}
return value;
}

请注意,新模板不包含任何 input 字段,因此不会提交值。如果您需要将此类组合与表单一起使用,您应该在 fieldSubTpl 中的某处添加隐藏输入,并在 setRawValue 中为其设置值。

工作样本:http://jsfiddle.net/lolo/8Xs5h/1/

关于html - EXTJS 4 在组合框中呈现所选值的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9016859/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com