2017-01-22 17 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 – 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; 
}; 

所以,最終代碼會是這樣的機智^ h加入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

我們歡迎@尼古拉利用'.split(find [i])。join (替換[i])'而不是'.replace(find [i],replace [i])'以匹配所有字符。 –

+1

非常感謝你艾哈邁德,代碼工作 – Nikolay

相關問題