2017-01-22 3 views
-2

Я хочу попробовать этот код, но автор так и не работает форма и где мой неверный код:Javascript, как изменить символ в текстовом поле?

<input class="copyMe" type="text" /> 
<input class="copyMe2" type="text" /> 

$(document).ready(function(){ 
var input = $(this).val(); 
var find = ["ş","Ş","ı","I","ğ","Ğ","ü","Ü","ö","Ö","ç","Ç","(",")","/",":",",","&","İ"]; 
var replace = ["s","s","i","i","g","g","u","u","o","o","c","c","","","-","-","","","i"]; 
input = input.replaceArray(find, replace); 
    $(".copyMe").keyup(function(){ 
     $(".copyMe2").val($(this).val().input); 
    }); 
}); 
+1

Где вы определили этот метод Строка replaceArray? – Blauharley

+0

Что вы ожидаете или хотите, чтобы этот код выполнялся? Говорить нам, что он не работает, не помогает, если мы не знаем, что он должен делать. –

+0

Я хочу написать первый вход O, S, C и второй входной текстовый блок будет выводить записи о, s, с – Nikolay

ответ

0

Просто вы можете использовать этот код

$(document).ready(function() { 
    var find = ["ş", "Ş", "ı", "I", "ğ", "Ğ", "ü", "Ü", "ö", "Ö", "ç", "Ç", "(", ")", "/", ":", ",", "&", "İ"]; 
    var replace = ["s", "s", "i", "i", "g", "g", "u", "u", "o", "o", "c", "c", "", "", "-", "-", "", "", "i"]; 
    $(".copyMe").keyup(function() { 
     var input = $(this).val().replaceArray(find, replace); 
     $(".copyMe2").val(input); 
    }); 
}); 

, но не забудьте расширить объект String, с вашей собственной функции, которая делает то, что вам нужно (полезно, если есть когда-либо недостающую функциональность):

String.prototype.replaceArray = function(find, replace) { 
    var replaceString = this; 
    for (var i = 0; i < find.length; i++) { 
     replaceString = replaceString.split(find[i]).join(replace[i]); 
    } 
    return replaceString; 
}; 

Таким образом, окончательный код будет как то остроумие ч добавления JQuery скрипт

String.prototype.replaceArray = function(find, replace) { 
 
    var replaceString = this; 
 
    for (var i = 0; i < find.length; i++) { 
 
    replaceString = replaceString.split(find[i]).join(replace[i]); 
 
    } 
 
    return replaceString; 
 
}; 
 
$(document).ready(function() { 
 
    var find = ["ş", "Ş", "ı", "I", "ğ", "Ğ", "ü", "Ü", "ö", "Ö", "ç", "Ç", "(", ")", "/", ":", ",", "&", "İ"]; 
 
    var replace = ["s", "s", "i", "i", "g", "g", "u", "u", "o", "o", "c", "c", "", "", "-", "-", "", "", "i"]; 
 
    $(".copyMe").keyup(function() { 
 
    var input = $(this).val().replaceArray(find, replace); 
 
    $(".copyMe2").val(input); 
 
    }); 
 
});
<input class="copyMe" type="text" /> 
 
<input class="copyMe2" type="text" /> 
 

 
<script src="//code.jquery.com/jquery-1.11.3.min.js" type="text/javascript"></script>

+0

спасибо, работает этот код, но когда я пишу öşçğ два раза это изменение кода первый раз и второй раз не менять пример вывода öşçğ öşçğ -> oscg öşçğ – Nikolay

+1

ур приветствовать @Nikolay просто использовать '.split (найти [я]) присоединиться. (замените [i]) 'вместо' .replace (find [i], replace [i]) 'для соответствия всем символам. –

+1

Большое спасибо Ахмеду, что код работал – Nikolay

Смежные вопросы