Vì đây là một câu hỏi khá cơ bản, tôi nghĩ rằng đó sẽ là hướng dẫn để hướng dẫn bạn qua tài liệu jQuery trong khi tôi trả lời câu hỏi của bạn. Nếu bạn thực sự không biết gì về jQuery, tôi khuyên bạn nên làm theo hướng dẫn ngắn này trước tiên - nó sẽ làm mọi thứ dễ dàng hơn nhiều cho bạn trong tương lai: jQuery Documentation - Getting Started With jQuery
Yêu cầu của bạn là điều gì đó xảy ra (trong trường hợp này, một phần tử khác là ẩn/hiển thị) khi chúng ta nhấp vào nút radio. Có hai phần của vấn đề này: đầu tiên, chúng ta cần phải tìm các nút radio, sau đó chúng ta cần phải làm một cái gì đó xảy ra khi chúng ta nhấp vào nó.
1. Tìm các nút radio
Hãy xem tài liệu Selector jQuery đây: http://api.jquery.com/category/selectors/
Như bạn thấy, có một giả selector cụ thể cho nút radio ": radio" . Chúng tôi muốn chọn tất cả mọi thứ bên trong của phần tử với ID "nút", do đó đây là cách chọn sẽ xem xét trong tổng số:
$("#buttons input:radio");
Bằng cách này, nó được gọi là một "pseudo-selector" bởi vì nó lọc các mặt hàng chúng tôi đã được chọn (trong trường hợp này, thẻ đầu vào bên trong của một div với id "nút"). Bộ chọn giả luôn bắt đầu bằng dấu ":".
2. Làm điều gì đó xảy ra khi chúng ta nhấp vào chúng
Consult Sự kiện jQuery tham khảo ở đây: http://api.jquery.com/category/events/
Chúng tôi muốn ".click()" sự kiện ở đây, rõ ràng.Một khi chúng ta đã chọn các yếu tố của chúng tôi, chúng tôi có thể áp dụng một handler nhấp chuột để họ như thế này:
$("#buttons input:radio").click(function() {
// make something happen here
alert("input button clicked: " + $(this).index());
});
Lưu ý rằng điều này sẽ áp dụng xử lý cùng một nhấp chuột để cả ba nút đầu vào, nhưng bạn có thể truy cập vào các yếu tố cụ thể đã được nhấp qua từ khóa "này". Bao bọc $() xung quanh nó làm cho nó thành một lựa chọn jQuery hơn là chỉ là một đối tượng Javascript và cho phép chúng ta gọi các hàm jQuery trên nó.
3. Ẩn và hiển thị các yếu tố danh sách có điều kiện
Hãy mở rộng đoạn mã trên để thực sự ẩn và hiển thị mà div khác, tùy thuộc vào mục được nhấp. Chúng tôi sẽ tham khảo tài liệu Hiệu ứng jQuery để chúng tôi có thể ẩn và hiển thị nó thú vị: http://api.jquery.com/category/effects/
Các chức năng chúng tôi sẽ sử dụng là ".slideUp()", ẩn phần tử và ". slideDown() ", hiển thị nó. Chúng tôi cũng sẽ sử dụng hàm ".index()" mà tôi đã sử dụng trong ví dụ trước để tìm ra nút nào đã được nhấp, mặc dù tôi khuyên bạn nên cung cấp cho nút một ID duy nhất trong tương lai để mã của bạn không phụ thuộc vào thứ tự của các nút. Dưới đây là đoạn code cuối cùng:
$("#buttons input:radio").click(function() {
// if it was the third button (0-indexed, so the 3rd one is index 2)...
if ($(this).index() == 2) {
// display the element with ID "list"
$("#list").slideDown();
}
else {
// hide the element with ID "list"
$("#list").slideUp();
}
});
Xin lỗi vì chiều dài của câu trả lời này, nhưng hy vọng đó là thuận lợi hơn để hiểu biết của bạn jQuery hơn "sao chép và dán 3 dòng giải pháp siêu nhỏ gọn này".
làm việc ngay lập tức từ dơi. nhờ sự giúp đỡ và cho cả cộng đồng ở đây đã rất rất hữu ích – Dan
Không vấn đề gì, Dan. Cảm ơn. :) –