我有4个值为1 - 4的按钮,我想在每次点击一个数字时连接按钮值并在#result
中显示,但我对如何做到这一点感到困惑。目前我创建了一个数组然后将每个值推入数组,因为它被点击然后转换为一个字符串,我将转换为数字,但我猜这是完全错误的方法,任何人都可以建议我如何实现这个目标?
的JavaScript
$(document).ready(function () {
var arr = [], value;
$('.num').on('click', function(e) {
value = $(this).val();
arr.push(value);
var test = parseInt(arr.toString());
console.log(test);
$('#result').text(test);
});
});
HTML
<form id="myForm">
<input type="text" id="result" />
<input type="button" class="num" value="1" />
<input type="button" class="num" value="2" />
<input type="button" class="num" value="3" />
<input type="button" class="num" value="4" />
</form>
JSBIN - http://jsbin.com/exuwuz/2/edit
所以基本上命中1和#result会显示1命中2而#result会显示12等等?
答案 0 :(得分:2)
您的代码可以简化。尝试:
$('input.num').click(
function() {
$('#result')[0].value += this.value;
}
);
答案 1 :(得分:1)
在连接中使用""
以防止添加数字:
$(this).val("" + $(this).val() + value);
答案 2 :(得分:1)
array.toString()
返回以逗号分隔的数组值列表(例如1,2,3,4
)。然后parseInt
将只解析第一个值(字符串的第一部分是正确的整数)。
要实现您想要使用的行为array.join()
而不是array.toString()
,这只会连接数组的内容:
var test = parseInt(arr.join(''));
答案 3 :(得分:0)
如何连接并直接显示它?
$(document).ready(function () {
$('.num').on('click', function(e) {
$('#result').val("" + $('#result').val() + $(this).val());
});
});