Sto attraversando un periodo difficile per capire cosa devo fare per accedere a determinati elementi dell'interfaccia utente in CKEditor in un plug-in che sto modificando.Accesso alla finestra di dialogo CKEditor Elementi HTML
In sostanza sto aggiungendo collegamenti interni alla loro finestra di dialogo di collegamento in cui i collegamenti sono suddivisi tra sezioni e pubblicazioni. Quando un utente seleziona una sezione da una selezione, le pubblicazioni da quella sezione vengono popolate in un altro menu a discesa.
Il seguente codice è stato modificato dal file link.js nella cartella del plug-in. Ho tagliato tutti i bit inutili e ho lasciato fuori quello che pensavo fosse rilevante. Come puoi vedere nel codice sottostante sto definendo un menu a discesa di selezione con l'id di 'sezione' seguito dal menu a discesa 'elemento'. Come posso accedere al menu a discesa "item", per popolarlo, nella funzione onChange del menu a discesa della sezione?
Ho il mio codice ajax tutto capito e funzionante se ho hardcode gli ID che finiscono per essere popolati nel tag ID in runtime ma questo cambia da editor a editor quindi non posso fare affidamento su valori hardcoded.
{
type : 'vbox',
id : 'internalOptions',
children :
[
{
id : 'section',
type : 'select',
items :
[
],
setup : function(data)
{
//populate sections here
},
onChange : function (data)
{
//populate items here
},
},
{
id : 'item',
type : 'select',
items :
[
],
setup : function(data)
{
},
}
]
}
EDIT: Il problema che ho è che il CKEditor cambierà ogni ID in modo che siano unqiue. Anche se chiamo il dropdown "section" CKEditor lo chiama 176_section ma non è sempre lo stesso INT quindi perché ho bisogno di capire come prenderlo durante la fase di setup.
Questo mi mette sulla strada giusta, quindi ti sto dando la risposta corretta. Quello che ho finito è stato impostare una variabile globale all'interno di ogni editor che contenesse l'elemento dell'interfaccia utente che ho afferrato con quel metodo. Non mi piace molto la mia implementazione, ma questo problema si è trascinato troppo a lungo, suppongo che a volte tu debba fare quello che hai :) Grazie per l'aiuto. – Gazillion
Come possiamo ottenere l'elemento attualmente focalizzato all'interno del dialogo ?? – bpbhat77