2013-09-25 71 views
6

Tôi có biểu mẫu đăng ký với một số tab. Bạn có thể bấm lùi và tiến tới trong biểu mẫu này.Trình đơn thả xuống jQuery được chọn = được chọn trong Safari không hoạt động

Đối với trình đơn thả xuống, tôi sử dụng jquery để chọn trước một lựa chọn trước, vì vậy mọi người không phải trả lời lại câu hỏi cụ thể này khi nhấp vào lùi.

Tập lệnh này hoạt động tốt cho Chrome và Firefox, tuy nhiên đối với Safari, nó hoàn toàn không hoạt động. Bằng cách nào đó tôi không thể làm việc này.

Bạn có thể vui lòng xem qua và cho tôi biết tôi đang làm gì sai?

kịch bản:

if (repeat_visit !== '') { 
    $('#repeatVisit').find('option').each(function(){ 
     if ($(this).val() === repeat_visit) { 
      $(this).attr('selected','selected'); 
     } 
    }); 
} 

Thuộc tính được thiết lập để tùy chọn để nó trông giống như: Có

Tôi có thể thấy điều này không xảy ra, nhưng có vẻ như Safari không thay đổi trang khi thuộc tính đã chọn được thêm sau khi tải trang. Vì vậy, bằng cách nào đó tôi cần kích hoạt sự kiện thay đổi này.

+0

bạn có thể tạo fiddle cho cùng không? –

+0

bạn đã thử chỉ sử dụng $ ('# repeatVisit'). Val (repeat_visit); – user1573618

+0

Không JSfiddle Và tôi có thể thử đặt giá trị như vậy! – BonifatiusK

Trả lời

24

Tôi đã tìm thấy câu trả lời!

Bạn có thể sử dụng .prop ('đã chọn', true) thay cho attr ('selected', 'selected');

+1

Cảm ơn! điều này dường như khắc phục vấn đề. – thephpx