2011-09-10 57 views
1

这个工作在1.5.2,但不在1.6.2上。该按钮不会被启用。我认为它必须与.attr函数不能在jQuery 1.6.x上工作(但在1.5.x上工作)

我该如何解决这个问题?

function checkMessageForm() { 
    var message_chars = $("#form_dm_text").val().length; 
    console.log(message_chars); 
    if (message_chars > 0 && message_chars < 14001) $("#form_dm_submit").attr("disabled", ""); 
    else 
    $("#form_dm_submit").attr("disabled", "disabled"); 
} 

谢谢!

回答

4

,应该删除disabled属性:

$("#form_dm_submit").removeAttr("disabled"); 

你可以看到removeAttr('disabled')效果与attr('disabled', '')这里:

而不是 .attr("disabled", "")

http://jsfiddle.net/ambiguous/JMvKr/

+0

太棒了!谢谢!! – Santiago

2

,尝试.removeAttr("disabled")

+0

也谢谢你qingbo! – Santiago

+0

oops - 我的回答是一个愚蠢的:) – qingbo

0

我喜欢使用.prop(propertyName, value)解决方案。大多数情况下,这只是另一个没有在这里提到的选项。

function checkMessageForm() { 
    var message_chars = $("#form_dm_text").val().length; 
    console.log(message_chars); 
    var disable = message_chars > 0 && message_chars < 14001; 
    $("#form_dm_submit").prop("disabled", disable); 
} 

attr()也接受true和false作为启用/禁用的值。

相关问题