将类型值输入到变量中

时间:2011-12-08 20:32:38

标签: javascript jquery

我试图从输入到输入文本字段onkeyup的值中定义变量值。我之前从未这样做过,也无法在Google上找到它,所以想知道是否有人知道如何做到这一点......

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

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

想象一下,用户输入输入框“thomas the tankengine”thomas将成为'var numberone'。 ''将成为第二,依此类推......

这可能吗?

3 个答案:

答案 0 :(得分:1)

您可以使用split()函数

按空格拆分字符串

例如

var words = document.getElementById("values").value.split(' ');
var op1 = words[0];
...

答案 1 :(得分:0)

可能,但不明智,如果您不希望变量最终在全局范围内,则需要与eval混淆。

任何时候变量变量都可以解决问题,可以通过使用数组(用于顺序数据)或对象(用于命名数据​​)来更好地解决。

这正是数组旨在处理的那种工作。

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

答案 2 :(得分:0)

如何在数组的索引中保存每个单词,以便拥有动态数量的单词:

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记录的,因此请检查控制台以查看输出)