1

我有一个简单的输入标签

<input type="text" id="textb" name="textbox"/>

jQuery是

$("document").ready(function(){

$("#textb").live("keyup",function(){
alert($(this).val());
//this gives me complete value inserted by user 
})
})

问题是如果用户输入(“hello”),我只想获取用户插入的最后一个值,而不是它应该显示警报(“o”)

4

4 回答 4

2
jQuery("document").ready(function($){
    $("input").bind("keyup",function(e){
        alert(String.fromCharCode(e.keyCode));
    });
});
于 2012-07-14T18:32:28.913 回答
2

试试这个:

$("#textb").live("keyup",function(){
    alert($(this).val().slice(-1));
})

http://jsfiddle.net/V3RAF/

或者:

$("#textb").on("blur",function(){
    alert($(this).val().slice(-1));
})

http://jsfiddle.net/V3RAF/1/

于 2012-07-14T18:32:51.167 回答
1

你可以更新到这个:

alert($(this).val().substr($(this).val().length-1));
于 2012-07-14T18:33:56.230 回答
0

我建议将输出放在 div 中,因为它对用户更友好。

    $( document ).ready( function() {
        $( 'input' ).keyup( function( evt ) {
            var val = $( this ).val(),
            newVal = val.substr( -1, 1 );

            $( '#output' ).empty();
            $( '#output' ).html( newVal );
        });
    });

或在此处查看用户友好版本http://jsfiddle.net/wh1t3w0lf21/pUNXD/

于 2012-07-14T18:48:06.423 回答