Chạy (ít nhất là phần “Sử dụng” bên dưới) sau khi bạn đã tải jQuery và ở cuối trang hoặc trong một câu lệnh DOM sẵn sàng. Lưu ý rằng bản sửa lỗi này tạo ra một bản sao của lựa chọn, bản sao sẽ gửi chính nó với dữ liệu biểu mẫu, nhưng giá trị tên đã được thay đổi để bao gồm “-clone” ở cuối nó, vì vậy hãy lưu ý điều đó, đặc biệt nếu bạn tuần tự hóa tất cả các đầu vào.
Cảm ơn Craig Hoover.
// Safely use $ (function($) ( $.fn._ie_select=function() ( return $(this).each(function() ( var a = $(this), p = a.parent(); p.css('position','relative'); var o = a.position(), h = a.outerHeight(), l = o.left, t = o.top; var c = a.clone(true); $.data(c,'element',a); c.css(( zIndex : 100, height : h, top : t, left : l, position : 'absolute', width : 'auto', opacity : 0 )).attr(( id : this.id + '-clone', name : this.name + '-clone' )).change(function() ( $.data(c,'element') .val($(this).val()) .trigger('change') )); a.before(c).click(function() ( c.trigger('click'); )); )); // END RETURN ); // END PLUGIN // Usage if ($.browser.msie) ( $('select')._ie_select(); ) ))(jQuery); // END SAFETY