javascript - Jquery keyup 功能不起作用

标签 javascript jquery html

$(':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. 使用.prop()设置禁用状态
  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 />

关于javascript - Jquery keyup 功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26030128/

相关文章:

javascript - 相同的动态 JS 函数处理不同的对象

Javascript:如果从 html 的主体调用,Javascript 是否被缓存?

javascript - 如何延迟按键输入

html - Angular 和 Typescript 中带有选择选项的数组

javascript - 在 iPad 上播放声音时出现延迟

javascript - 使用 JavaScript 查找字符串中的某些数据

jquery - 如何在 Jquery 和 golang 中使用输入的 json 数据进行 ajax 调用?

javascript - Google ComboChart 中当前数据的平均线

javascript - 使用 JavaScript 更改外部脚本中包含的 HTML

javascript - 下载 PDF 格式的 PHP、HTML 编码页面。