好的,所以我有以下jquery代码,以及一个html页面,其中包含一些数字为1 - 2 -3 - 4的按钮和一个文本框。
当我点击一个按钮时,它会在文本框中显示该号码,但是当我再次点击它会删除该号码时,我如何制作它以使其像电话号码一样,所以我可以键入1234 而不是每次都删除一个数字。
$('input[type="button"]').click(function() {
var txt = $(this).val();
$('#textbox').val(txt);
});
答案 0 :(得分:5)
你需要
$('#textbox').val($('#textbox').val() + txt);
答案 1 :(得分:5)
您可以使用.val( function(index, value) ):
执行此操作$('input[type="button"]').click(function () {
var txt = $(this).val();
$('#textbox').val(function ( _, value) { return value + txt; });
});
答案 2 :(得分:4)
您需要将新值附加到现有值。试试这个:
var txt = $(this).val(); // assuming 'this' is the button instance
$('#textbox').val($('#textbox').val() + txt);
答案 3 :(得分:2)
$('input[type="button"]').click(function() {
var txt = $(this).val();
$('#textbox').val( $('#textbox').val() + txt );
});
答案 4 :(得分:2)
您正在使用新值替换旧值。您必须附加旧值。
var oldval= $(this).val();
$('#textbox').val( $('#textbox').val() + oldval);
答案 5 :(得分:1)
请试试这个......
HTML:
<input type="text" id="test">
<input type="button" id="btn1" value="3">
<input type="button" id="btn2" value="2">
<input type="button" id="btn3" value="1">
JQUERY:
jQuery(function($) {
$('input[type="button"]').click(function() {
var txt = $(this).val();
if($('#test').val().indexOf(txt) >= 0)
{
$('#test').val($('#test').val().replace(txt, ''));
}
else
{
var displayVal = $('#test').val() + txt;
$('#test').val(displayVal);
}
});
});
答案 6 :(得分:0)
$('input[type="button"]').click(function() {
var currentValue = $('#textbox').val();
var pressedValue = $(this).val();
$('#textbox').val(currentValue + pressedValue);
});
答案 7 :(得分:0)
为了获得更好的性能,将文本框jQuery obj保存在变量中,并避免使用jQuery访问按钮值(没有它就很容易):
var jTextBox = $('#textbox');
...
$('input[type="button"]').click(function(event) {
jTextBox .val( jTextBox .val() + event.target.value );
return false;
});