Sto caricando il testo in una casella di input tramite lo $("textarea").val(ajaxData);
tuttavia non si accenderà automaticamente e i miei dati non verranno visualizzati completamente. C'è qualche metodo o qualcosa che posso chiamare per forzare un aggiornamento?jQuery Area di testo in crescita mobile con dati AJAX
risposta
Esiste effettivamente una funzione interna responsabile del ridimensionamento, denominata resizeCheck()
. Tuttavia, quella funzione è un dettaglio di implementazione privato e non è esposta dal widget come metodo pubblico.
È possibile aggirare questo, però: dal momento che resizeCheck()
è chiamato da gestore di eventi keyup
del widget, è possibile attivare l'evento da soli dopo aver impostato il nuovo valore:
$("textarea").val(ajaxData).keyup();
Questo sarà ridimensionare il widget nella esatta come se avessi digitato il nuovo testo "a mano".
Grazie ancora a Frédéric, mi hai risparmiato ore di ricerca. Funziona perfettamente! :) Tuttavia, una volta che il campo è cresciuto, non tornerà ... ho trovato questo comportamento facendo anche delle modifiche manuali. c'è un modo per resettare questo campo alla normalità? Potrebbe essere un bug? – Astronaut
@Adam, questo è davvero un bug. [Bug # 2719] (https://github.com/jquery/jquery-mobile/issues/2719), per essere precisi. –
Grazie ancora per il tuo feedback. Penso che fonderò il plugin elastico, è un peccato perché volevo usare il CDN invece di un jQuery locale. – Astronaut
Devi specificare un'altezza: 'auto' nel tuo elemento contenitore usando CSS.
Se si è scritta un'altezza statica, non si accenderà automaticamente.
var offset=15;
$("textarea").val(ajaxData);
$("textarea").height($("textarea").innerHeight() + offset)
Si può provare senza alcun offset se funziona nel tuo caso. È inoltre possibile modificare il valore di offset se necessario
Ciao grazie per questa soluzione. Comunque mi stavo chiedendo se qualcuno sa quale funzione è chiamata internamente da jQM per farlo con un testo di input regolare. se lo digiti autogrow, ma non con i dati ajax. – Astronaut
Ciao Imdad interiorHeight mi darà il valore del testo? Posso usare questo per renderlo elastico? Crescere e restringere? – Astronaut
innerHeight ti darà l'altezza del contenuto interno. Quindi, puoi crescere/rimpicciolire di conseguenza. Per ottenere il valore o il testo effettivo usa '$ (" textarea "). Val()' – Imdad
- 1. jquery area di testo auto-crescita rispetto al testo iniziale
- 2. Area di testo di JQuery Mobile: come si usa l'attributo 'righe'?
- 3. Invio modulo AJAX in jQuery Mobile
- 4. Area di testo gruppo di input Bootstrap con pulsante
- 5. JQuery-Mobile e ASP.Net - AJAX o Postback?
- 6. jQuery/database CF area di testo Riempire in base alle date nella banca dati
- 7. Area di testo contenteditable
- 8. Invia dati modulo con jquery ajax json
- 9. Trasmissione dei dati con jquery ajax
- 10. come inviare più dati con $ .ajax() jquery
- 11. Completamento automatico Ajax/Jquery con dati JSON
- 12. Forma testo area di testo con virgola o nuova riga
- 13. Rimuovere una chiamata Ajax dai collegamenti regolari con jQuery Mobile
- 14. Area di testo scorrevole accessibile
- 15. Testo di dissolvenza Jquery all'interno di una casella di testo e area di testo
- 16. virgolette singole in stringa con jQuery ajax
- 17. JQuery multipart/dati ajax messaggio
- 18. Jquery dati ajax convertiti in stringa
- 19. jQuery-mobile e dati obsoleti nelle pagine
- 20. Come leggere un file di testo in crescita in C++?
- 21. Jquery codifica dei dati ajax
- 22. jQuery $ .ajax() con PHP
- 23. Invio di parametri multipli di dati con jQuery AJAX
- 24. Filtro dati jQuery Mobile, in caso di nessun risultato
- 25. utilizzando iscroll con jquery mobile
- 26. Consenti chiamate ajax remote in una Webview Android + jquery mobile
- 27. jquery-mobile "mobile first"
- 28. piè di pagina dati jquery con righe totali dall'output Ajax
- 29. UI Jquery, "area morta" con portlet ordinabili
- 30. jQuery Ajax Richiesta interna Ajax
Inserisci il tuo CSS, javascript e HTML - molto probabilmente il tuo problema è dovuto al tuo CSS. –
Non ho css personalizzato, questo è per una normale casella di testo. l'unica differenza è che l'input non proviene dalla tastiera ma dall'origine dati Ajax. Quindi deve esserci una funzione per fare ciò su jQM, semplicemente non so quale sia. – Astronaut