Sử dụng DOM & JavaScript chọn nhiều checkbox trên trang web


Ta đã gặp ứng dụng chọn nhiều checkbox với 1 click như trong Yahoo Mail, Gmail.. Ví dụ này demo cho phương thức getElementsByTagName(..) của DOM để làm việc tương tự

 

 Đầu tiên, giả sử trang web của ta có nhiều checkbox

<br />
....<br />
<input type="checkbox"  name="cb1" id="cb1" /> Checkbox 1<br /><br />
<input type="checkbox"  name="cb2" id="cb2" /> Checkbox 2<br /><br />
<input type="checkbox"  name="cb3" id="cb3" /> Checkbox 3<br /><br />
<input type="checkbox"  name="cb4" id="cb4" /> Checkbox 4<br /><br />
....<br />
<input type="checkbox"  name="cb10" id="cb10" /> Checkbox 10<br /><br />
....<br />
<a >Check /Uncheck</a><br />

Bây giờ, ta cần viết 1 chương trình bằng Javascript để thực hiện việc thay đổi thuộc tính checked của các checkbox này cùng 1 lúc.


...
<head>

...
<script type="text/javascript">
function changeCheck(){
    //lấy tham chiếu đến tất cả các thẻ input
    var cbs = document.getElementsByTagName("input");
    for(var i=0; i<cbs.length; i++){
        var cb = cbs[i];
        if (cb.type.toLowerCase()=="checkbox") //nếu là checkbox
            cb.checked=!cb.checked;//thay đổi trạng thái check
    }//for
}
</script>


</head>

Cuối cùng, ta đăng ký chương trình changeCheck này với thẻ A đã tạo

<br />
.....<br />
<a onclick='changeCheck();'>Check /Uncheck</a><br />

Mã nguồn của ví dụ tương tự với VD này, bạn có thể tìm thấy trong bài viết Ví dụ phần lập trình client side (môn học Lập trình web)


( đã được xem 4175 lần từ 08/06/2011 )

Phản hồi bài viết

   
Họ tên  
Email*
Mã xác thực email
Tiêu đề*
Nội dung*
Đính kèm 
 
 
linhnguyen linhlinhnguyen0408@...
Merge Cells range Excel vs C#
Em chào thầy.Thầy cho em hỏi ạ.
Em có hai ô muốn merge mà không cần dùng tới dll Microsoft.Office.Interop.Excel ạ. Em đang mắc mà chưa có cách nào giải quyết
Chúc thầy ngày mới tốt lành
Tệp đính kèm
  1. ChildCare_StatisticMaterRial.zip(1086 lượt tải về)
Lê Hữu Dũng huudungle@...
re fix lỗi min-weight
Tôi thì thường dùng conditional comment.
Em có thể search từ khoá này để biết cách dùng nhé.
Linh040800 linhlinhnguyen0408@...
Fix lỗi min-weight
Em chào thầy. Em có câu hỏi xin được thầy giúp đỡ ạ. Em đang cần Fix lỗi min-weight cho thẻ body có thể chạy trên các trình duyệt FF, Chorme, SF, và IE trên một số độ phân giải khác nhau. Nhưng trên IE em có sử dụng một số thuật hack như
cach1: /*width:expression(document.body.clientWidth < 1000? "1000px": "auto" );*/
cách 2:
body{
min-width:1000px;
height:auto !important;
height:1000px;}
Nhưng đều không được với IE 6 -> 8 còn IE 9 thì họ support rồi. MOng sớm nhận được thư của thầy. Chúc thầy có sức khỏe tốt ạ.
Trang 1
Tôi là Lê Hữu Dũng
Giảng viên CNTT
Khoa Công nghệ Tin học
Viện Đại học Mở Hà Nội