2016-04-26 14 views
0

これは簡単でなければなりませんが、jQueryのスキルが低いために本当に固まっていません。入力フィールドに入力時に変換された文字が追加されます.JQUERY

目的は、ユーザーが入力フィールドに入力すると、ラテン文字を大文字に変換することです。

私はかなり近づいているようですが、私の問題は、私のラテン文字とギリシャ文字の両方を単一のキーアップイベントで取得することです。ここに私のバイオリンhttps://jsfiddle.net/harman79/dymtufy8/

HTMLです:

<input type="search" id="search-id"> 

のjQuery:

$("#search-id").bind('keyup', function(e) { 
    var charMap = { 
    65: 913, 
    66: 914, 
    67: 936, 
    68: 916, 
    69: 917, 
    70: 934, 
    71: 915, 
    72: 919, 
    73: 921, 
    74: 926, 
    75: 922, 
    76: 923, 
    77: 924, 
    78: 925, 
    79: 927, 
    80: 928, 
    81: 931, 
    82: 929, 
    83: 931, 
    84: 932, 
    85: 920, 
    86: 937, 
    87: 937, 
    88: 935, 
    89: 933, 
    90: 918 
    }; 

    $.each(charMap, function(index, value) { 
    if (index == e.which) { 
     $("#search-id").val(function(index, val) { 
     return val + String.fromCharCode(value); 
     }); 
    } 
    }); 
}); 

私はreturn String.fromCharCode(value);return val + String.fromCharCode(value);を交換した場合、私は私の変換された文字を取得しますが、それぞれの新しいからkeyupは、以前の入力内容を置き換えます。

どんなhepでも大歓迎です! ハリー

答えて

1

あなたはこれを試すことができます。

$("#search-id").bind('keyup', function(e) { 
 
    var charMap = { 
 
    65: 913, 
 
    66: 914, 
 
    67: 936, 
 
    68: 916, 
 
    69: 917, 
 
    70: 934, 
 
    71: 915, 
 
    72: 919, 
 
    73: 921, 
 
    74: 926, 
 
    75: 922, 
 
    76: 923, 
 
    77: 924, 
 
    78: 925, 
 
    79: 927, 
 
    80: 928, 
 
    81: 931, 
 
    82: 929, 
 
    83: 931, 
 
    84: 932, 
 
    85: 920, 
 
    86: 937, 
 
    87: 937, 
 
    88: 935, 
 
    89: 933, 
 
    90: 918 
 
    }; 
 

 
    $.each(charMap, function(index, value) { 
 
    if (index == e.which) { 
 
     $("#search-id").val(function(index, val) { 
 
     // Remove last character and replace with new value 
 
     return val.substring(0, val.length - 1) + String.fromCharCode(value); 
 
     }); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="search" id="search-id">

+0

おかげでたくさんの仲間を!私は気を奪われた。私のキーアップをkeydownに置き換えてより速い変換応答にする必要があると思われますが、すべてのロジックは現在そこにあります.. – harman

+0

うん、keydownはあなたが望むもののための最良の賭けになるでしょう。 – KiiroSora09

関連する問題