Tôi thấy câu trả lời của @ Piyush rất hữu ích và chỉ cần thêm vào nó, nếu bạn lập trình tạo một lựa chọn, thì có một cách quan trọng để có được hành vi này có thể không rõ ràng. Giả sử bạn có một chức năng và bạn tạo một lựa chọn mới:
var changeitem = function (sel) {
console.log(sel.selectedIndex);
}
var newSelect = document.createElement('select');
newSelect.id = 'newselect';
Các hành vi bình thường có thể nói
newSelect.onchange = changeitem;
Nhưng điều này không thực sự cho phép bạn chỉ định đối số được truyền vào, vì vậy thay vào đó bạn có thể làm điều này:
newSelect.setAttribute('onchange', 'changeitem(this)');
Và bạn có thể thiết lập tham số. Nếu bạn làm theo cách đầu tiên, thì đối số bạn sẽ nhận được cho onchange
chức năng của mình sẽ phụ thuộc vào trình duyệt. Cách thứ hai dường như chỉ hoạt động trên nhiều trình duyệt.