Функция не работает на jQuery 1.6.x (но работает на 1.5.x)

Это работает в 1.5.2, но не в 1.6.2. Кнопка не будет включена. Я думаю, что это должно быть с.attr

Как я могу это исправить?

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");
}

Спасибо!

3 ответа

Решение

Вы должны удалить disabled атрибут:

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

Вы можете увидеть эффект от removeAttr('disabled') против attr('disabled', '') Вот:

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

Вместо .attr("disabled", ""), пытаться .removeAttr("disabled")?

Мне нравится использовать решение .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 в качестве значения для включения / выключения.

Другие вопросы по тегам