2011-12-08 11 views
1

Imが入力されたテキストフィールドに入力されたonkeyupの値から変数の値を定義しようとしています。私は前にこれをやったことがないとGoogleはそう誰もがこれを行う方法上の任意のアイデアを持っていた場合...入力タイプ値は

<input type="text" id="values" /> 

var numberone = ""; 
var numbertwo = ""; 
var numberthree = ""; 

は、入力ボックスにユーザーが「トーマスtankengine」トーマスを想像してみて思っていた上でそれを見つけるカント'var numberone'になります。 「」ナンバー2になるというように...

これは可能ですか?

+0

私はそれを制限したいので、3つしかありません。素朴に見えます! – Liam

答えて

1

あなたは

例えば

配列のインデックスの各単語の保存についてあなたは、動的な番号を持つことができますので、どのように
var words = document.getElementById("values").value.split(' '); 
var op1 = words[0]; 
... 
0
可能性のある、しかし、賢明

、あなたは変数がグローバルスコープで終わることを望まなかった場合evalでぐちゃぐちゃ必要になります。

あなたは、変数の変数が問題を解決することができますいつでも、それはより良い(という名前のデータ用)(シーケンシャルデータの場合)配列またはオブジェクトを使用することによって解決することができます。

これはまさに配列を扱うように設計されているジョブの一種です。

var numbers = document.getElementById('values').value.split(' '); 
console.log(numbers[0]); 
console.log(numbers[1]); 
console.log(numbers[2]); 
0

split()関数を使用して、スペースで文字列を分割することができます言葉の:

var max_words = 3; 
$('#values').on('keydown', function (event) { 
    if (event.keyCode == 32) {//32 == space key 
     var arr = $(this).val().split(' '), 
      len = max_words < arr.length ? max_words : arr.length, 
      out = []; 
     for (var i = 0; i < len; i++) { 
      out.push(arr[i]); 
     } 
    } 
}); 

このコードを示すjsfiddleはあります:http://jsfiddle.net/r8dXw/1/(出力はconsole.logで記録されますので、出力を確認するにはコンソールをチェックしてください)