Hướng dẫn select onchange javascript - chọn javascript onchange

Thông thường ta hay sử dụng Javascript để bắt sự kiện onchange của thẻ select. Sự kiện onchange là sự kiện khi bạn thay đổi lựa chọn của select box. Ví dụ trang nhập thông tin giới tính bạn sẽ có hai giá trị đó là nam hoặc nữ, nếu bạn thay đổi từ nam sang nữ hoặc ngược lại thì sẽ xảy ra sự kiện onchange.

Hướng dẫn select onchange javascript - chọn javascript onchange

Hướng dẫn select onchange javascript - chọn javascript onchange

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức.

Trăm nghe không bằng mắt thấy, bây giờ mình sẽ làm một ví dụ để bạn dễ hiểu hơn nhé: Hãy viết chương trình cho người dùng chọn giới tính, mỗi khi người dùng thay đổi giới tính thì hiển thị một câu thông báo giới tính mà họ đã chọn.

Bài giải

Trước tiên chúng ta sẽ xây dựng HTML như sau:



    
        
        
        Javascript Example
    
    
        

Chọn giới tính

In ra thông báo khi giới tính được thay đổi

Nhiệm vụ bây giờ là bổ sung Javascript vào hàm genderChanged, code nhu sau:

Bài viết này được đăng tại [free tuts .net]

// Hàm xử lý khi thẻ select thay đổi giá trị được chọn
// obj là tham số truyền vào và cũng chính là thẻ select
function genderChanged(obj)
{
    var message = document.getElementById('show_message');
    var value = obj.value;
    if (value === ''){
        message.innerHTML = "Bạn chưa chọn giới tính";
    }
    else if (value === 'nam'){
        message.innerHTML = "Bạn đã chọn giới tính nam";
    }
    else if (value === 'nu'){
        message.innerHTML = "Bạn đã chọn giới tính nữ";
    }
}

Chạy ví dụ này lên bạn sẽ thấy kết quả như trong đề bài đưa ra. Nếu bạn chưa hiểu event là gì thì hãy tham khảo bài sự kiện (event) trong Javascript nhé.

Thông thường ta hay sử dụng Javascript để bắt sự kiện onchange của thẻ select. Sự kiện onchange là sự kiện khi bạn thay đổi lựa chọn của select box. Ví dụ trang nhập thông tin giới tính bạn sẽ có hai giá trị đó là nam hoặc nữ, nếu bạn thay đổi từ nam sang nữ hoặc ngược lại thì sẽ xảy ra sự kiện onchange.

Trăm nghe không bằng mắt thấy, bây giờ mình sẽ làm một ví dụ để bạn dễ hiểu hơn nhé: Hãy viết chương trình cho người dùng chọn giới tính, mỗi khi người dùng thay đổi giới tính thì hiển thị một câu thông báo giới tính mà họ đã chọn.

Bạn đang xem: Bắt sự kiện onchange của thẻ select

Bài giải

Trước tiên chúng ta sẽ xây dựng HTML như sau:

Code

    
        
        
        Javascript Example
    
    
        

Chọn giới tính

In ra thông báo khi giới tính được thay đổi

Nhiệm vụ bây giờ là bổ sung Javascript vào hàm genderChanged, code nhu sau:

Code

Nhiệm vụ bây giờ là bổ sung Javascript vào hàm genderChanged, code nhu sau:

// Hàm xử lý khi thẻ select thay đổi giá trị được chọn
// obj là tham số truyền vào và cũng chính là thẻ select
function genderChanged(obj)
{
    var message = document.getElementById('show_message');
    var value = obj.value;
    if (value === ''){
        message.innerHTML = "Bạn chưa chọn giới tính";
    }
    else if (value === 'nam'){
        message.innerHTML = "Bạn đã chọn giới tính nam";
    }
    else if (value === 'nu'){
        message.innerHTML = "Bạn đã chọn giới tính nữ";
    }
}

Chạy ví dụ này lên bạn sẽ thấy kết quả như trong đề bài đưa ra. Nếu bạn chưa hiểu event là gì thì hãy tham khảo bài sự kiện (event) trong Javascript nhé.

Đăng bởi: MyLop

Chuyên mục: Học Lập Trình

5. Dấu nháy kép này đánh dấu sự kết thúc của khối lệnh JavaScript đặt trong sự kiện, dấu > đánh dấu sự kết thúc của thẻ .

6. Thẻ đóng của form.

Sự kiện onChange sẽ được kích hoạt khi ta có sự lựa chọn một danh sách menu chọn hoặc khi ta thay đổi nội dung của một đối tượng nào đó như input, select, textarea rồi rời đi (blur).



Demo thẻ select-option: options

Ví dụ 1:


   
   
   


Demo thẻ select-option: options

    Mời chọn một ngôn ngữ:            --Chọn 1 ngôn ngữ--        Ngôn ngữ C        HTML5        CSS3        JavaScript        jQuery        SQL        PHP       

Ví dụ 2:



Demo thẻ select-option: Jump Menu

Ví dụ này sẽ áp dụng sự kiện onChange để tạo một Jump Menu, theo đó sẽ có một danh sách xổ xuống để người dùng chọn lựa các ngôn ngữ, khi người dùng chọn ngôn ngữ xong thì onChange sẽ điều hướng tới trang web tương ứng với ngôn ngữ đã chọn.


   
   


Demo thẻ select-option: Jump Menu

    Mời chọn một ngôn ngữ:            --Chọn 1 ngôn ngữ--        Ngôn ngữ C        HTML5        CSS3        JavaScript        jQuery        SQL        PHP   

Ví dụ 2:



Demo thẻ select-option: Jump Menu

Ví dụ này sẽ áp dụng sự kiện onChange để tạo một Jump Menu, theo đó sẽ có một danh sách xổ xuống để người dùng chọn lựa các ngôn ngữ, khi người dùng chọn ngôn ngữ xong thì onChange sẽ điều hướng tới trang web tương ứng với ngôn ngữ đã chọn.


   
     id="ngonngu" name="ngonngu" onChange="window.open(options[selectedIndex].value,'')">
       
       
       
       
       
       
       
       
   


Demo thẻ select-option: Jump Menu

    Mời chọn một ngôn ngữ:            --Chọn 1 ngôn ngữ--        Ngôn ngữ C        HTML5        CSS3        JavaScript        jQuery        SQL        PHP   

   

Ví dụ 3:
    
   

   

1  

        Vui lòng nhập vào một cấp:

2      

         grade=parseInt(this.value);

3       if(grade < 0 || grade > 100){

           alert('Cấp phải từ 0 đến 100!');

         }

4       else{

           confirm('Có phải cấp là '+ grade + '?');

         }

4       else{

           confirm('Có phải cấp là '+ grade + '?');

   

   

         " >

6  

GIẢI THÍCH

1. Điểm bắt đầu của form.

2. Kiểu của thẻ là text field. Sự kiện sẽ được kích hoạt khi người dùng điền dữ liệu vào input này và rời khỏi nó.

    Ở đây thay vì gán gọi một hàm để xử lý sự kiện thì ta đưa vào các cấu lệnh JavaScript, những câu lệnh này có nhiệm vụ chuyển dữ liệu của input sang kiểu số nguyên và thực hiện các thao tác tiếp theo. Có một lưu ý là thường thì việc viết các câu lệnh trong một hàm sẽ ít gây ra lỗi hơn cách thức viết trực tiếp trong sự kiện.

5. Dấu nháy kép này đánh dấu sự kết thúc của khối lệnh JavaScript đặt trong sự kiện, dấu > đánh dấu sự kết thúc của thẻ .

6. Thẻ đóng của form.