2012-03-10 33 views
7

Làm thế nào để kích hoạt/vô hiệu hóa trường nhập đúng khi nhấp chuột với jQuery?Làm thế nào để tắt/bật trường nhập khi nhấp chuột với jQuery

tôi đã thử nghiệm với:

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

mà loại bỏ disabled="disabled" khỏi trường nhập này:

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

Nhưng làm thế nào để thêm một lần nữa với nhấp chuột vào một nút khác hoặc làm thế nào để vô hiệu hóa lĩnh vực đầu vào nhấp chuột ?

+0

http://stackoverflow.com/questions/1414365/how-to-disable-an-input-with- jquery kiểm tra ở đây – jeremysawesome

Trả lời

18

Đối với phiên bản jQuery 1.6 + sử dụng prop:

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

Đối với phiên bản cũ của jQuery sử dụng attr:

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

Sẽ thực hiện.

Nhưng hãy nhớ sau khi bạn vô hiệu hóa nó (bằng mã ở trên) onclick trình xử lý sẽ không hoạt động như bị vô hiệu hóa. Để bật lại, hãy thêm $("#FullName").removeAttr('disabled'); vào trình xử lý onclick của một nút hoặc trường khác.

+0

Hoạt động, cảm ơn rất nhiều! – Drazek

+0

Cảm ơn bạn đã làm cho phần thứ hai rõ ràng. Tôi không thể tìm ra lý do tại sao sự kiện nhấp không kích hoạt khi đầu vào văn bản bị tắt. – decapo

1

Điều này nên thực hiện.

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

Shiplu là đúng, nhưng sử dụng này nếu bạn đã không sử dụng jquery 1.6 +

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

+0

Bạn đã quên '#' trong bộ chọn đầu tiên '$ (" anOherButton ") ...' và nó có lỗi đánh máy. – gdoron

+0

@gdoron: cảm ơn, đã chỉnh sửa – 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

một phương pháp đơn giản để bật/tắt feild đầu vào

$("#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

Để chuyển đổi một lĩnh vực giữa người khuyết tật và kích hoạt, hãy thử này:

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

    function (i, val) { 
     return !val; 
    }); 
}) 
Các vấn đề liên quan