.VAL(THIS.VALUE);减1

时间:2011-08-13 13:56:22

标签: javascript jquery hotkeys

我在每个标签上都有几个输入标签。我正在使用并且我在每个输入上设置了相同的类,因此我可以将值从一个选项卡传送到另一个选项卡,如下所示:

$('.group_input1').change(function(){
     $('.group_input1').val(this.value);
});

现在,为了显示每个标签,我使用的是这样的短信:

if (e.keyCode == 71) {
        $("#input1").fadeIn();
    $(".group_input").focus();
    }

每次#input1淡入淡出在其输入中获取按下的字符的值,所以当$(".group_input").focus();删除最后一个字符时,我正在寻找要说的内容?

或者有更好的方法吗?

5 个答案:

答案 0 :(得分:0)

像(未经过测试的代码) -

$('#target').focus(function() {
  $("#input1").val($("#input1").val().substring(0,$("#input1").val().length-1))
});

答案 1 :(得分:0)

如果我已正确理解您的问题,您可以使用“substring”函数删除字符串中的最后一个字符,例如

var text = "input1";
var text_new = text.substring(0, text.length-1);
alert(text_new);

答案 2 :(得分:0)

要删除您可以执行的最后一个字符:

$(".group_input").focus(function(){
    var valore =  $(this).val();
    $(this).val(valore.substring(0, valore.length - 1));
});

答案 3 :(得分:0)

我必须看到更多的代码才能理解为什么要将密钥添加到该输入中。是否在keydown事件中有e.keyCode部分?

作为一个简单的解决方案,只是为了获得有用的东西,你可以在group_input上设置一个焦点事件处理程序来删除该字符(见下文),但我怀疑这是理想的方法。您应该阻止将该键添加到文本中。你能在jsfiddle上设置一个例子吗?

$('.group_input').focus(function () {
    var text = $('#input1').val();
    $('#input1').val(text.substr(0, text.length - 1));
}

答案 4 :(得分:0)

我发现了问题。对于短信我使用keydown而不是keyup,所以我替换了它