2016-09-26 2 views
1

Я разрабатываю сайт, в котором я сделаю кнопку удаления с последовательностью, я имею в виду только одну кнопку delete для двух полей ввода, это можно сделать в 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 Demo

Я пробовал сам, но не увенчались успехом!

+0

Что вы хотите сделать, когда нажата кнопка «Удалить»? –

+0

@PraneshRavi очистить введенный вход. –

+0

Да чувак, когда нажата кнопка «Удалить» @PraneshRavi –

ответ

2

Ключом этой проблемы является Последовательность. Поэтому просто определите длину значения ввода.

$("input").bind("input", function() { 
 
    \t var $this = $(this); 
 
    setTimeout(function() { 
 
    \t if ($this.val().length >= parseInt($this.attr("maxlength"),10)) 
 
    \t $this.next("input").focus(); 
 
    },0); 
 
}); 
 
    
 
$('#password').on('input', function(){ 
 
    if($(this).val() == ''){ 
 
    $('#username').focus(); 
 
    return false; 
 
    } 
 
}); 
 

 
$(document).on('click', '.delete', function(e){ 
 
\t var username = $('#username'); 
 
    var password = $('#password'); 
 
    password.val(password.val().substr(0, password.val().length - 1)); 
 
    
 
    if (password.val().length == 0) { 
 
    \t username.val(username.val().substr(0, username.val().length - 1)); 
 
    } 
 
\t 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>

+0

да, tq, я хочу пароль сначала, когда нажата кнопка удаления, но есть не проблема и спасибо, что помогли мне. –

+0

@RofiFathurrohman Я изменил заказ. Вы можете проверить это. –

2

Вы забыли скобки в чеках VAL в начале вашей функции удаления. Замените val на val() в каждом:

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

ах дерьмо мою ошибку, спасибо, брат! –

Смежные вопросы