jQuery设置文本框 - 缺少最后一个字符

时间:2014-02-07 03:24:43

标签: javascript jquery

假设我有2个文本框。我想将textboxA的值复制到textboxB。

我目前正在使用$('#boxB').val($('#boxA').val())。但是,输出并不总是正确的。例如,如果文本框A的内容为abc,则文本框B将仅以ab结尾 - 最后一个字符始终缺失。为什么呢?

5 个答案:

答案 0 :(得分:3)

$(document).ready(function(){
    $("#c").click(function(){
        var valA = $("#textA").val();
        var valB = $("#textB").val();
        valB = valA;
        $("#result").empty().append(valB);
        alert(valB);
    });
});

演示:http://jsfiddle.net/madcat/tw2ss/

答案 1 :(得分:1)

您可以使用#boxAkeydownkeyup个事件中查看console.log的值:

$("#boxA").keydown(function () {
    console.log("down: " + $('#boxA').val())
    $('#boxB').val($('#boxA').val())
})

$("#boxA").keyup(function () {
    console.log("up: " + $('#boxA').val())
    $('#boxB').val($('#boxA').val())
})

答案 2 :(得分:0)

你应该使用keyup,因此在按键后事件会触发。

$("#myInputBox").keyup(function () {
    var value = $(this).val()
    $("#theSecondBox").val(value)
})

修改 fiddle demo

答案 3 :(得分:0)

而不是keydown事件,请尝试使用input事件:

$('#boxA').on('input', function() {
    $('#boxB').val($('#boxA').val())
});

<强> Fiddle Demo

答案 4 :(得分:0)

检查文本框的“Maxlength”字符“#boxB”是否大于3.