2010-01-21 5 views
1

Avec ExtJs 3.1Désactiver le rendu html dans la liste déroulante combobox

Mon Ext.form.ComboBox est construit avec un magasin dans lequel certaines valeurs sont comme ceci: « value1 », « < valeur2> », « value3 ». Le problème est que "< value2>" est interprété comme une balise HTML lorsque la liste déroulante de liste déroulante est affichée. Et je ne veux pas que. Une idée?

Répondre

4

Spécifiez un modèle personnalisé pour la liste ComboBox et transmettre les valeurs à travers le filtre de codage HTML:

new Ext.form.ComboBox({ 
    store: new Ext.data.ArrayStore({ 
     fields: ['field_name'], 
     data: [['<item1>']] 
    }), 
    displayField: 'field_name', 
    valueField: 'field_name', 
    mode: 'local', 
    tpl: '<tpl for=".">' 
     +'<div class="x-combo-list-item">' 
     +'{field_name:htmlEncode}' 
     +'</div>' 
     +'</tpl>' 
}); 
1

Essayez d'échapper aux valeurs avant de vous lier.

+0

J'utilise Ext.util.Format.htmlEncode() mais je dois modifier le magasin pour que : / – Guid