繁体   English   中英

用jQuery删除按钮序列

[英]delete button sequence with jquery

我正在开发一个网站,在该网站中我将按顺序制作一个删除按钮,我的意思是只删除两个输入字段的一个按钮,是否可以在jQuery中进行?

这是我的HTML代码:

a: <input type="text" maxlength="5" id="username" />
c: <input type="text" maxlength="5" id="password" />
<button type="button" class="delete">
Delete
</button>

这是我的jQuery代码:

$("input").bind("input", function() {
    var $this = $(this);
  setTimeout(function() {
    if ( $this.val().length >= parseInt($this.attr("maxlength"),10) )
        $this.next("input").focus();
    },0);
 });

$('#password').on('input', function(){
  if($(this).val() == ''){
    $('#username').focus();
    return false;
  }
});

$(document).on('click', '.delete', function(e){
                        if($('#password').val == '') {
                var $content = $('#username');
            } else if ($('#password').val !== '') {
                var $content = $('#password');
            }
            var html = $content.val();
            $content.val(html.substr(0, html.length - 1));
            if($content.val() == '') {
            $('#username').focus();
            } else if ($content.val() !== '') {
            $content.focus();
            }
            return false;
    });

JSFiddle演示

我自己尝试过,但是没有成功!

这个问题的关键是序列 因此,只需检测输入值的长度即可。

 $("input").bind("input", function() { var $this = $(this); setTimeout(function() { if ( $this.val().length >= parseInt($this.attr("maxlength"),10) ) $this.next("input").focus(); },0); }); $('#password').on('input', function(){ if($(this).val() == ''){ $('#username').focus(); return false; } }); $(document).on('click', '.delete', function(e){ var username = $('#username'); var password = $('#password'); password.val(password.val().substr(0, password.val().length - 1)); if (password.val().length == 0) { username.val(username.val().substr(0, username.val().length - 1)); } return false; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> a: <input type="text" maxlength="5" id="username" /> c: <input type="text" maxlength="5" id="password" /> <button type="button" class="delete"> Delete </button> 

您在删除功能开始时忘记了val检查中的括号。 在每个中将val更改为val():

if($('#password').val() == '') {
    var $content = $('#username');
} else if ($('#password').val() !== '') {
    var $content = $('#password');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM