इसके लिए कुछ चरणों की आवश्यकता है। समस्या यह है कि ComboBox
के नीचे इनपुट क्षेत्र है, और इनपुट HTML प्रदर्शित नहीं कर सकते हैं। तो पहला कदम टेम्पलेट को बदलना है जो div के साथ इनपुट को प्रतिस्थापित करता है। उदाहरण के लिए:
displayTpl: Ext.create('Ext.XTemplate', [
'<tpl for=".">',
'<img src="http://phpbb3.pl/adm/images/icon_edit.gif" />',
'{[typeof values === "string" ? values : values["title"]]}',
'</tpl>'
])
एक और बात नई सूची आइटम टेम्पलेट बनाने के लिए है:
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
}
]
फिर टेम्पलेट जो मान चयनित पता चलता है बदल जाते हैं। उदाहरण:
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: 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
क्षेत्र शामिल नहीं है इसलिए मूल्य सबमिट नहीं किया जाएगा: उसके लिए आपको setRawValue
विधि ओवरराइड करना चाहिए। यदि आपको फॉर्म के साथ इस तरह के कॉम्बो का उपयोग करने की आवश्यकता है, तो आपको कहीं भी fieldSubTpl
में छुपा इनपुट जोड़ना चाहिए और इसके लिए setRawValue
में मान सेट करना चाहिए।
कार्य नमूना: http://jsfiddle.net/lolo/8Xs5h/1/
OMG !, इसके काफी काम करना का एक बहुत, मैं सिर्फ, तुम मैं एचटीएमएल मैं सर्वर से प्राप्त कैसे प्रबंधित कर सकते पूछना चाहता हूँ क्योंकि displayField सीधे एक एचटीएमएल प्राप्त कर रहा है, एक पाठ नहीं, तो यदि आप मुझे मार्गदर्शन कर सकते हैं तो इस मामले में बेहतर दृष्टिकोण क्या है। धन्यवाद। –
धन्यवाद, मुझे कोड के माध्यम से अपना रास्ता मिला:) ... –
आईई extjs में स्निपेट – A1rPun