2010-01-08 24 views

Trả lời

-5

Tôi đoán rằng 'onchange' sẽ kích hoạt.

+0

Không, onchange không kích hoạt khi thay đổi giá trị từ JS. –

2

Giá trị (ngoài giá trị ban đầu) chỉ có thể được đặt trên đầu vào bị ẩn bằng cách sử dụng tập lệnh và các sự kiện thường không phản hồi các tập lệnh.

Nó có thể kích hoạt Mutation event, nhưng hỗ trợ trình duyệt cho chúng chưa được phổ biến rộng rãi.

Nói chung, nếu bạn muốn làm điều gì đó khi kịch bản của bạn thay đổi giá trị của đầu vào bị ẩn - hãy làm cho tập lệnh thực hiện thao tác khác cùng một lúc.

20

Bất cứ khi nào bạn thay đổi giá trị của trường ẩn bằng tập lệnh, nó sẽ không kích hoạt bất kỳ sự kiện nào. Nhưng bạn có thể tự kích hoạt sự kiện nếu bạn đang sử dụng jQuery.

Cho phép giả định rằng bạn có sau lĩnh vực ẩn

<input type="hidden" id="hid" value="0" 
onchange="alert('Caught the hidden event');" /> 

Khi bạn thay đổi giá trị của trường sử dụng đoạn mã sau, nó sẽ không hiển thị các thông điệp cảnh báo.

$("#hid").val("2"); 

Nhưng bạn có thể kích hoạt sự kiện thay đổi bằng cách sử dụng đoạn mã sau

$("#hid").val("2").change(); 

Trên mã sẽ hiển thị các thông điệp cảnh báo.

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