2

默认情况下,我的 HTML 标记中<button>有一个disabled="disabled"值。这使得<button> 不可点击

<button id="submit" value="submit" name="submit" class="btn btn-large btn-block btn-primary" disabled="disabled" type="submit">Submit</button>

如果<textarea>超过 30 个字符,它将删除参数disabled并使按钮可点击

我不确定如何使用 jquery 在 html 标记中删除甚至添加参数。

var $j = jQuery.noConflict();

$j(function(){

$j("#textField").keyup(function(){
    num = $j(this);
    if ($j(this).val().length >= 30 ) {
        $j("#charNum").text(30-num.val().length);
        $j('#submit") // disable
    }
    else {
           $j("#submit") // enable
    }

});
});
4

6 回答 6

4

使用.removeAttr()方法。

var $j = jQuery.noConflict();

$j(function(){

$j("#textField").keyup(function(){
    num = $j(this);
    if ($j(this).val().length >= 30 ) {
        $j("#charNum").text(30-num.val().length);
        $j("#submit").removeAttr('disabled');
    }
    else {
           $j("#submit").attr('disabled', 'disabled');
    }

});
});
于 2013-08-12T10:30:15.723 回答
3

要禁用,您可以使用

 $('#submit').prop('disabled', true);

要启用,您可以使用

$("#submit").button( "enable" );
于 2013-08-12T10:30:01.453 回答
1

您可以使用 .prop()

$j('#submit').prop('disabled',false); // Enable the button
$j('#submit').prop('disabled',true); // Disable the button

对于其他您可以使用 .removeAttr() 从 html 元素中删除属性,但对于选中、禁用,您最好使用 .prop()

于 2013-08-12T10:30:37.247 回答
1

您可以使用以下.prop()方法执行此操作:

if ($j(this).val().length >= 30) {
    $j('#submit').prop('disabled', true);   // disable
} else {
    $j('#submit').prop('disabled', false);  // enable
} 
于 2013-08-12T10:30:55.967 回答
1

您提出的问题的解决方案已解决并参考linkdemo

var $j = jQuery.noConflict();

$j(function(){

$j("#textField").keyup(function(){
num = $j(this);
if ($j(this).val().length >= 30 ) {
    $j("#charNum").text(30-num.val().length);
    $j("#submit").prop('disabled', false); // disable
}
else {
       $j("#submit").prop('disabled',true) // enable
}

});
});
于 2013-08-12T10:41:11.057 回答
0

使用attr / removeAttr方法

var $j = jQuery.noConflict();

$j(function(){

$j("#textField").keyup(function(){
    num = $j(this);
    if ($j(this).val().length >= 30 ) {
        $j("#charNum").text(30-num.val().length);
        $j('#submit").attr('disabled','disabled');
    }
    else {
           $j("#submit").removeAttr('disabled');
           //$j("#submit").attr('disabled',''); //Same functionality
    }

});
});
于 2013-08-12T10:30:56.367 回答