1

我的 jsfiddle 在这里- http://jsfiddle.net/hhimanshu/HVRLA/

需要
- 一旦输入文本,“创建”按钮应该启用
- 如果没有文本(文本长度 = 0),应该再次禁用“创建”按钮

更新

建议的解决方案适用于解决方案,但不适用于我在下拉列表中有表单。这是小提琴 - http://jsfiddle.net/hhimanshu/ukYek/

4

3 回答 3

3

看起来您没有正确选择按钮,并且else如果输入中没有字符(即用户退格他们输入的所有文本),您忘记放置以使其再次禁用。这有效:

$(function(){
    var input = $('#new-list :input');
    $(input).keyup(function(){
      //alert($(input).val().length);                
        if ($(input).val().length > 0) {
            //alert($(input).val().length);
            $('#new-list button[type="submit"]').removeAttr('disabled');
        }
        else {
            $('#new-list button[type="submit"]').attr('disabled',true);
        }
    });
});

jsFiddle:http: //jsfiddle.net/HVRLA/2/

于 2012-06-30T00:50:56.563 回答
0

另一个解决方案:http: //jsfiddle.net/HVRLA/5/

编辑:

正如您在此http://jsfiddle.net/hhimanshu/ukYek/fiddle下方的评论中所说的那样,它不起作用。您在输入选择器中遇到问题:

$(function(){
    var input = $('#new-playlist :input');
    $(input).live('keyup',function(){
      //alert($(input).val().length);                
        if ($(input).val().length > 0) {
            //alert($(input).val().length);
            $('#create-playlist-button').removeAttr('disabled');
        }
        else {
            $('#create-playlist-button').attr('disabled',true);
        }
    });
});​

我认为这是您的代码中的问题-因为它们在您的 html 中没有new-listid

 var input = $('#new-list :input');

所以我把它改成这样:

var input = $('#new-playlist :input');

这是小提琴链接:http: //jsfiddle.net/ukYek/3/

于 2012-06-30T00:58:53.203 回答
0

一个工作示例:

$(function(){
    var input = $('#new-playlist :input');
    input.live('keyup',function(){   
            $('#create-playlist-button').attr('disabled',input.val().length==0);
     });
});​
于 2012-06-30T01:22:30.803 回答