Mam pole input, do którego użytkownik wprowadza nazwę. Pobieram ciąg znaków aby zmienić wszystko na małe litery, spację chcę zastąpić znakiem "_", a polskie małe litery znakami bez ogonków.
Mama następujący kod
- Kod: Zaznacz cały
$(document).ready(function() {
$('.kategoria_nazwa_pole').keyup(function(){
var nazwa = $('input[name=nazwa]');
//zamian ciągu na małe znaki
var ciag = nazwa.val();
var ciag_maly = ciag.toLowerCase();
var zastap_znaki = '';
var tablica_zastap = ['ę', 'ó', 'ą', 'ś', 'ł', 'ż', 'ź', 'ć', 'ń', ' '];
var tablica_robocze = ['e', 'o', 'a', 's', 'l', 'z', 'z', 'c', 'n', '_'];
for(var i=0; i<tablica_zastap.length; i++) {
zastap_znaki = ciag_maly.replace(tablica_zastap[i], tablica_robocze[i]);
}
$('.nazwa_robocza span').text(zastap_znaki);
});//koniec kliknięcie #dodaj_kategoria
});//konec ready
Kod działa prawie dobrze. To znaczy, zamienia mi wprowadzony ciąg znaków na małe litery, jednak tylko pierwszą spację zamienia mi na "_" natomiast w ogóle nie zamienia mi polskich znaków na znaki łacińskie.
Nie wiem gdzie leży problem, że nie podmienia znaków?