2010-06-22 15 views
7

Voglio qualcosa come un contatore per ogni interruzione di riga in una textarea. Questo è usato quando si carica un numero enorme di webbanners, quindi ho bisogno di un contatore semplice per quanti utenti hanno aggiunto. In questo momento il contatore funziona solo quando un utente preme un collegamento con uno striscione speciale.Verificare la presenza di interruzioni nella textarea con jQuery

Questo è il mio codice come è adesso:

var i = 0; 

$('.size').click(function(){ 
$('#total-number').text(i++); 
return false; 
}); 

risposta

0

Cerca textarea per "\ n".

Per essere certi, eseguire un'espressione regolare per il modello "\\ n" e contare l'array di corrispondenze, che sarà il conteggio della sequenza.

4

Utilizzare la funzione String split ...

var text = $('#total-number').text(); 
var eachLine = text.split('\n'); 

alert('Lines found: ' + eachLine.length); 

for(var i = 0, l = eachLine.length; i < l; i++) { 
    alert('Line ' + (i+1) + ': ' + eachLine[i]); 
} 
2

Uso delle espressioni regolari, il problema può essere risolto in questo modo (la ricerca del textarea per la nuova linea carattere "\ n")):

//assuming $('#total-number') is your textarea element 
var text = $('#total-number').val(); 
// look for any "\n" occurences 
var matches = text.match(/\n/g); 
// count them, if there are any 
var breaks = matches ? matches.length : 0; 

breaks variabile ora contiene il numero di interruzioni di riga nel testo.

0

Funziona quando si preme manualmente Invio, ma esiste un modo per contare le interruzioni di riga create da textarea quando si copiano e incollano dati su di esso? Voglio dire, se si definisce una larghezza per una textarea e quindi si incolla del testo, si creeranno interruzioni di riga ...

0

Si intende una stringa a linea singola che si avvolge. Un'interruzione di riga, se non erro, viene creata quando si preme Invio o Maiusc + Invio.

Problemi correlati