2017-09-14 30 views
-2

的第一個字母我敢新的JavaScript,我有一個元素字母表中的每個字母的數組顯示數組元素輸入到基於表單輸入字段中使用的第一個字母的標記中。jQuery的:</p> <pre><code>var firstname = [ "Julie", "Jack", "John", ....] </code></pre> <p>我想填充一個特定的元素:根據輸入

例如,如果A是用在輸入第一個字母,將填充「朱莉」,B會填充「傑克」,C會填充「約翰」等等......

任何人都可以建議如何在jQuery中做到這一點?謝謝。

+0

爲什麼不與數字打交道?因爲如果你只使用字母,你有26個案例。所以你想要的是人們在輸入字段中鍵入內容並顯示正確的內容? – Steven

回答

0

這是你在找什麼?

var firstname = [ "Julie", "Jack", "John"]; 
 

 
function getElementBasedOnFirstChar(input) { 
 
    var charCode = input.charCodeAt(0); 
 
    
 
    // Uppercase 
 
    if (charCode >= 65 && charCode <= 90) { 
 
     return firstname[charCode - 65]; 
 
    } 
 
    // Lowercase 
 
    else if (charCode >= 97 && charCode <= 122) { 
 
     return firstname[charCode - 97]; 
 
    } 
 
    // Non alphabetic characters 
 
    else { 
 
     throw "Illegal start of string"; 
 
    } 
 
} 
 

 
console.log(getElementBasedOnFirstChar("Alfa")); 
 
console.log(getElementBasedOnFirstChar("alfa")); 
 
console.log(getElementBasedOnFirstChar("Bravo")); 
 
console.log(getElementBasedOnFirstChar("Charlie")); 
 
console.log(getElementBasedOnFirstChar("---"));

0

我不知道你在找什麼。但是,此代碼從輸入字段獲取值,並檢查數組中是否以輸入開始的項目。我只是將它附加到一個div作爲例子。

var firstname = [ "Julie", "Jack", "John", "Peter", "Frank"]; 
 

 
$('#ugh').on('keyup',function(){ 
 
//Check if key is a character (a-z | A-Z) 
 
if (event.keyCode >= 65 && event.keyCode <= 90 || event.keyCode >= 97 && event.keyCode <= 122){ 
 
    $.each(firstname, function(key, val){ //foreach item in firstname array 
 
    if(val.toLowerCase().match("^" + $('#ugh').val().toLowerCase())){ //text input matches item from array 
 
    $('#result').append('<p>'+val+'</p>'); //display result, change to whatever you want to do with it 
 
    } 
 
    }); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='text' id='ugh'/> 
 

 
<div id="result"></div>

+0

這與我之後接近,但我希望A返回「Julie」,B返回「Jack」,C返回「John」。與J返回「Julie」相反,F返回「Frank」等。 –

0

你期待一些這樣的事

$(document).ready(function() { 
    var arr = []; 
    var firstname = [ "Julie", "Jack", "John"]; 
    var i = "a"; 
    $.each(firstname, function(key, value) { 
    // console.log(key, value); 
    arr[i] = value; 
    var ii = String.fromCharCode(i.charCodeAt() + 1); 
    console.log(ii); 
    i = ii; 
    console.log(arr); 
    }); 
    alert(arr['a']); 
// console.log(firstname); 
}); 

https://jsfiddle.net/o2gxgz9r/14064/

相關問題