2012-03-10 4 views
7

Как правильно включить/отключить поле ввода при щелчке с помощью jQuery?Как отключить/разрешить поле ввода при щелчке с помощью jQuery

Я экспериментировал с:

$("#FullName").removeAttr('disabled'); 

, который удаляет disabled="disabled" из этого поля ввода:

<input id="FullName" style="width: 299px" value="Marko" disabled="disabled" /> 

Но как добавить его снова нажмите на другую кнопку или, как отключить поле ввода по щелчку ?

+0

http://stackoverflow.com/questions/1414365/how-to-disable-an-input-with- jquery check here – jeremysawesome

ответ

18

Для JQuery версии 1.6+ использовать prop:

$('#elementId').click(function(){ 
     $('#FullName').prop('disabled', true\false); 
}); 

Для более старых версий JQuery использовать attr:

$('#elementId').click(function(){ 
     $('#FullName').attr('disabled', 'disabled'\''); 
}); 
5
$("#FullName").prop('disabled', true); 

сделаю.

Но имейте ввиду, что после его отключения (по приведенному выше коду) onclick обработчик не будет работать как отключенный. Чтобы включить его, добавьте $("#FullName").removeAttr('disabled'); в обработчик onclick другой кнопки или поля.

+0

Работы, огромное спасибо! – Drazek

+0

Благодарим вас за то, что вы сделали вторую часть прозрачной. Я не мог понять, почему событие click не срабатывало, когда ввод текста был отключен. – decapo

1

Это должно быть сделано.

$("#FullName").attr('disabled', 'disabled'); 

Shiplu правильно, но использовать это, если вы не используете JQuery 1.6+

1
$("#anOtherButton").click(function(){ 
    $("#FullName").attr('disabled', 'disabled'); 
}); 

  • .attr(attributeName, value) function

    установить один или несколько атрибутов для набора соответствующих элементов

+0

Вы забыли '#' в первом селекторе '$ (" anOherButton ") ...' и он имеет опечатку. – gdoron

+0

@gdoron: спасибо, отредактирован – sll

4
$('#checkbox-id').click(function() 
{ 
    //If checkbox is checked then disable or enable input 
    if ($(this).is(':checked')) 
    { 
     $("#to-enable-input").removeAttr("disabled"); 
     $("#to-disable-input").attr("disabled","disabled"); 
    } 
    //If checkbox is unchecked then disable or enable input 
    else 
    { 
     $("#to-enable-input").removeAttr("disabled"); 
     $("#to-disable-input").attr("disabled","disabled"); 
    } 
}); 
2

еще один простой способ, чтобы включить/отключить входной Фейлд

$("#anOtherButton").click(function() { 
 
    $("#FullName").attr('disabled', !$("#FullName").attr('disabled')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
 

 
<input id="FullName" style="width: 299px" value="Marko" disabled="disabled" /> 
 
<br> 
 
<br> 
 
<input type="button" id="anOtherButton" value="disable/enable" />

0

Для переключения поля между инвалидами и включен, попробуйте следующее:

$('#toggle_button').click(function() { 
    $('#FullName').prop("disabled", 

    function (i, val) { 
     return !val; 
    }); 
}) 
Смежные вопросы