我试图从输入到输入文本字段onkeyup的值中定义变量值。我之前从未这样做过,也无法在Google上找到它,所以想知道是否有人知道如何做到这一点......
<input type="text" id="values" />
var numberone = "";
var numbertwo = "";
var numberthree = "";
想象一下,用户输入输入框“thomas the tankengine”thomas将成为'var numberone'。 ''将成为第二,依此类推......
这可能吗?
答案 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
记录的,因此请检查控制台以查看输出)