2010-09-22 26 views
8

Tôi có các nút n. Nút này có cùng tên: setAlg.jQuery vô hiệu hóa tất cả các nút của một lớp css

Tôi sẽ tắt tất cả các nút có tên này.

Tôi đã thử

$("input[name='setAlg']").attr("disabled",true); 

nhưng nó không hoạt động.

Tôi có thể làm như thế nào?

Cảm ơn rất nhiều.

+0

Bạn có đánh dấu mẫu không? Những gì bạn có nên làm việc cho các phần tử ''. –

Trả lời

17

Hãy chắc chắn để quấn mã của bạn trong xử lý đã sẵn sàng:

$(function(){ 
    $("input[name='setAlg']").attr("disabled", true); 
}); 

Nhưng nếu bạn đang sử dụng cùng lớp đối với những lĩnh vực đầu vào (theo tiêu đề câu hỏi của bạn), bạn cần phải thử này để thay thế:

$(function(){ 
    $("input.myclass").attr("disabled", true); 
}); 

Trường hợp myclass được coi là tên lớp được sử dụng cho các trường nhập đó.

+0

@michele: Chào mừng bạn :) – Sarfraz

+0

Classic gotcha :) –

+0

Cách bảo mật tốt hơn –

1

Tôi nghĩ rằng bạn quên dấu ngoặc kép

$("input[name='setAlg']").attr('disabled','true'); 

Nếu điều này không làm việc thì có lẽ lựa chọn của bạn không hoạt động

+0

'true' * không nên * có dấu ngoặc kép :) –

+0

@Nick Craver: Chúng tôi sử dụng nó như thế này, và nó hoạt động tốt –

+1

Nếu anh ta sử dụng một DocTYPE XHTML bằng cách sử dụng chuỗi 'vô hiệu hóa' được khuyến khích. –

4

Chris Pebbles gợi ý nên làm việc tốt, nhưng tôi bối rối. Trong tiêu đề câu hỏi của bạn, bạn có thể chỉ định trạng thái "jQuery vô hiệu hóa tất cả nút của css class", sau đó bạn cung cấp ví dụ cho thấy bạn thực sự muốn tắt tất cả các nút có thuộc tính tên của setAlg.

Hai điểm cần lưu ý. Đầu tiên, các nút của bạn, vì tất cả chúng đều có cùng tên có thể tạo ra kết quả không mong muốn cho bạn khi người dùng gửi biểu mẫu của bạn (nếu đây là những gì họ làm, nhưng tôi có thể sai ở đây). Nếu trường hợp này xảy ra, bạn có thể thực sự muốn đặt tất cả chúng thành cùng một lớp , không phải tên.

<input class="setAlg">... 

điểm thứ hai là nếu bạn muốn làm cho jQuery của bạn để làm việc với một lớp, bạn sẽ cần phải làm:

$("input.setAlg").attr("disabled","disabled"); 

Tôi hy vọng điều này là hữu ích.

+0

Cảm ơn rất nhiều ... – michele

0

Bạn có thể tắt nút bằng cách sử dụng các bước được đề cập bên dưới.

nói tên nút lớp học của bạn = setAlg

Bước 1:

Sử dụng Jquery attr Thuộc tính:

$('.setAlg').attr('disabled', 'disabled'); 

Bước 2:

U hát Jquery addClass CSS Class:

$('.setAlg').addClass('disabled'); 

Bước 3:

Sau đó, bằng Tuyên bố CSS Style Class:

<style type="text/css"> 
     .disabled 
     { 
      background: none repeat scroll 0 0 burlyWood; 
      cursor: default !important; 
     } 
    </style> 

Tôi đã viết một bài đăng blog về việc kiểm tra này How to Disable a Button Using Jquery and CSS ?

Các vấn đề liên quan