Jquery键盘功能不起作用

时间:2014-09-25 03:45:41

标签: javascript jquery html

$(':text').keyup(function() {我尝试将:文字更改为:数字不起作用只有在删除&& $('#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/

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

使用

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

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

而不是

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

答案 2 :(得分:2)

有两个问题。

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

    &#13;
    &#13;
    $(document).ready(function (event) {
        $('#input, #number').keyup(function () {
            $('#submit').prop('disabled', $('#input').val() == '' || $('#number').val() == "");
        });
    });
    &#13;
    <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 />
    &#13;
    &#13;
    &#13;