Jquery keyup函数不起作用

Jquery keyup function not working

本文关键字:不起作用 函数 keyup Jquery      更新时间:2023-09-26

$(':text').keyup(function() {中,我尝试将:text更改为:number不起作用,只有当我删除&& $('#number').val() != "" 时才起作用

<script>
$(document).ready(function(event) {  
$(':text').keyup(function() {
    if($('#input').val() != "" && $('#number').val() != "" 
    ){
       $('#submit').removeAttr('disabled');
    } else {
       $('#submit').attr('disabled', true);   
    }
});});
</script>

HTML

<form><input type=text id='input'>
<input type=number id='number'><br>
<input type=button id='submit' value='submit'>
    </form>

jsfiddle:http://jsfiddle.net/LaLL0v6a/

有2个问题。

  1. 您只将keyup处理程序注册到第一个输入元素,而不是第二个,因为它的类型是数字
  2. 使用.pr()设置禁用状态
  3. 如果在数字字段中输入非数值,则它将保持禁用状态,因为.val()将返回一个空字符串

所以

$(document).ready(function (event) {
    $('#input, #number').keyup(function () {
        $('#submit').prop('disabled', $('#input').val() == '' || $('#number').val() == "");
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type=text id='input' />
<input type=number id='number' />
<input type=button id='submit' value='submit' disabled />

使用

$('#input').keyup(function() {

$('input[type="text"]').keyup(function() {

而不是

$(':text').keyup(function() {

$(':text')更改为$('input[type="text"]')