Mam bardzo łatwe pytanie. Niestety nie mogę znaleźć odpowiedzi.jQuery wielokrotny znak zastąpić
Zrobiłem 2 prostych funkcji wejściowych
Input 1:<br /><input type="text" id="i1" name="i1" />
Input 2:<br />
<input type="text" id="i2" name="i2" />
Zmieniając wejście 1, chcę aby pojawić się w wyniku wejścia 2. Również chcę niektóre znaki zastępowane i chcę, aby po kolei znaki małych liter (aby użyć go jako adresu URL).
Więc zrobiłem następujący kod jQuery:
$("#i1").keyup(function() {
var ptitle = $("#i1").val();
$("#2").val(ptitle.replace(" ", "-").toLowerCase());
});
Działa to dobrze, z wyjątkiem kiedy wpisać ciąg znaków, który ma kilka razy ten sam znak do wymiany. Wtedy zastępuje się tylko za pierwszym razem.
Na przykład: Po wpisaniu danych wejściowych 1: "Informacje o tej firmie" spowoduje to wprowadzenie danych wejściowych 2: "o tej firmie". Powinno to być: "o tej firmie". Czy ktoś wie, co dzieje się nie tak w moim kodzie jQuery?
Wow, to było ekstremum. I rozwiązałeś mój problem. Dziękuję Ci bardzo! –
Nie ma problemu, widzę, że wiele osób ma tę samą odpowiedź. Zmieniłem '$ (" # i2 ")' z 'i' w nim (zgodnie z twoim przykładem) i dodałem wyrażenie regularne'/\ s/g' zamiast twojego '' "'. – jerone
Upewnij się, że masz na myśli \ s zamiast "", różnica polega na tym, że \ s reprezentuje wszystkie białe znaki [\ f \ n \ r \ t \ v \ u00A0 \ u2028 \ u2028 \ u2028]. To może być w porządku z tobą, ale byłbym niedbały, gdybym o tym nie wspomniał. – Marc