13. marts 2012 - 10:30Der er
15 kommentarer og 1 løsning
ExtJS update label med ny html
Hej - jeg har et label felt som skal have "erstattet" sin html
her er koden:
}, { xtype : 'label', html : this.tr("responseInfo", "no Response yet!"), id: "field-response" }],
Når jeg sætter ny text ind virker det, men af andre årsager vil jeg indsætte ny html. - Jeg har prøvet følgende men det erstatter ikke den gamle, men kun den synlige tekst
function setResponse(_value){ if (_value == 'getOK'){ //Ext.getCmp('field-response').update('this.tr("getResponseOkInfo", "Time recived from database")'); Ext.getCmp('field-response').update("Time recived from database"); }}
den nederste update erstatter teksten, men den øverste indsætter strengen som text og erstatter dermed ikke indholdet.
Hvordan erstatter jeg så øverste linje giver samme resultat som nederste??
Jo, det er så let som ingenting, men udfra det, du skriver, er det ikke det, du har brug for at gøre. Men da du er ekstremt lidt informativ, er der næppe nogen, der ved, hvad du har brug for
Jeg ved det faktisk dårligt nok selv hvad jeg skal bruge.
Det er fordi jeg sidder med en hel hjemmeside der er reverse engeenered fra en minifiseret js fil.
Det betyder at jeg ikke har det fulde overblik over sammenhængen endnu og dermed ikke ved præcis hvordan jeg kan modificere uden at ødelægge noget.
Problemet ligger i et eksternt c program som tilføjer flere sprog til siden under build. Der foreligger ingen source eller doc på dette tool, og som jeg kan se det leder dette tool efter "this.tr('...')" og arbejder med det.
Det vil sige at for at jeg kan fortsætte i det spor er jeg nød til at anvende "this.tr('...')" de steder hvor jeg vil have sprog systemet til at virke og er dermed ikke sikker på om DOM løsningen kan bruges
Det er ikke en metode, men alm html som defineres på et givet element f.eks en "label" som i spm.
var m_label = { xtype : 'label', HTML: this.tr("responseInfo", "no Response yet!") };
Der hvor m_label "placeres" indsættes HTML parametrens værdi som html i (DOM må det vel være?).
men når jeg så forsøger at erstatte indholdet af HTML parameteren med f.eks this.tr("responseInfo", "NU ER DER SKIFTET!") så bliver det i www til linjen :
this.tr("responseInfo", "NU ER DER SKIFTET!")
istedet for :
NU ER DER SKIFTET!
som det skulle være..
Jeg har prøvet flere løsninger men der er ikke rigtigt noget der virker. Jeg tror det er den forkerte parameter der erstattes eller at den fortolker det som en string der skal puttes ind i det allerede oprette this.tr() element.
Måske er løsningen at nedlægge elementet og oprette det igen, eller bare lave et for hver besked og så show hide efter behov..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.