Tôi có một hộp kiểm đơn giản, được tạo ra với:asp.net MVC: mô phỏng AutoPostBack cho đơn giản checkbox
<%= Html.CheckBox("myCB")%>
Làm thế nào tôi có thể thêm một handler onChange này mà một trình?
Tôi có một hộp kiểm đơn giản, được tạo ra với:asp.net MVC: mô phỏng AutoPostBack cho đơn giản checkbox
<%= Html.CheckBox("myCB")%>
Làm thế nào tôi có thể thêm một handler onChange này mà một trình?
Thêm một handler onClick vào CheckBox rằng submit form CheckBox thuộc về ... nhanh chóng, clickHandler dụ codeless:
<%= Html.CheckBox("myCB",
new { onClick = "$(this).parent('form:first').submit();" });
(ví dụ chắc chắn không phải kiểm tra độ chính xác)
Nếu bạn có chỉ có một biểu mẫu và không sử dụng JQuery (bạn nên, bằng cách này) hãy thử điều này:
<%= Html.CheckBox("myCB",
new { onClick = "document.form.submit();" });
Điều này là gần, cú pháp thực tế là document.forms [0] .submit() – chris
Tôi rất muốn khuyên bạn nên sử dụng jQuery để hỗ trợ điều này bởi vì nó làm cho tôi để dễ dàng thêm hành vi vào hộp kiểm trong toàn bộ trang web của bạn bằng cách chọn công cụ chọn là ID hoặc dựa trên lớp. Sau đó, bạn có thể đặt tập lệnh ở bất kỳ đâu trên trang hoặc trong tệp .js bên ngoài.
<script language="javascript" type="text/javascript">
$('#myCB').click(function() { $(this).parent('form:first').submit(); });
</script>
Hoặc, bộ chọn có thể là dựa trên lớp (hoặc bất kỳ thuộc tính nào cho vấn đề đó). Thông tin thêm tại đây: http://docs.jquery.com/Selectors
Tôi có lẽ sẽ kết thúc bằng cách sử dụng này trên các dự án khác, nhưng bây giờ nó chỉ là một nơi - cảm ơn, mặc dù. – chris
nhưng hoạt động tốt :) – chris
Nếu mã này hoạt động, hộp kiểm phải nằm ngay bên dưới 'biểu mẫu'. Sử dụng: '$ (this) .parents ('form: first'). Submit();' thay vào đó. – RickardN