2015-06-07 17 views
5

Tôi có một diễn đàn trong đó tôi thay đổi chức năng của tab cần nhập. Khi người dùng nhấn vào trường nhập tiếp theo, hãy lấy tiêu điểm và bằng cách nào đó iImanage để mở hộp chọn select2 trên focusin sự kiện để hộp chọn 2 mở ra.Sự kiện "Nhấn phím" không hoạt động chính xác, sử dụng jQuery & Select2

Nhưng, khi tôi chọn giá trị và nhấn enter trong hộp chọn selec2, nó không đóng và vẫn mở khi nhập sự kiện nhấn phím nhưng nó đóng. Khi tôi thay đổi nhập sự kiện quan trọng cho bất kỳ sự kiện bấm phím nào hơn select2 nhận được đóng và hoạt động tốt nhưng tôi phải làm điều đó bằng cách nhập.

Điều tôi muốn:
Khi người dùng chọn giá trị trong hộp tìm kiếm select2 và nhấn enter, hãy nhập gần và di chuyển tiêu điểm đến trường nhập tiếp theo hoặc bất kỳ trường nào.

Những gì tôi đã làm cho đến thời điểm này.

$('.search-select').on("focusin",function(event) { 
    $('#s2id_form-field-select-3').select2('open'); 
    event.preventDefault(); 
}); 

Select2 với nhập sự kiện quan trọng mà không hoạt động

$('.select2-input').on("keypress", function(e) { 
      if (e.keyCode == 13) { 
       $("#select2-drop-mask").click(); 
       $('#name').focus(); 
       e.preventDefault(); 
       } 
     }); 

Select2 với bất kỳ sự kiện bấm phím đó đang làm việc

$('.select2-input').on("keypress", function(event) { 
       $("#select2-drop-mask").click(); 
       $('#name').focus(); 
       event.preventDefault();   
}); 

Markup

<select id="form-field-select-3" name="register_id" class="form-control search-select" required="required"> 
    <option value="">&nbsp;</option> 
    <? $query=$this->dba->get_dropdown('register',array('id','name')); 
     foreach($query as $key=>$value): 
    ?> 
    <option value="<?=$key?>"><?=$value; ?></option>} 
    <? endforeach;?> 
</select> 

Xin lỗi trước vì đã xảy ra lỗi, đây là lần đầu tiên tôi sử dụng Select2.

Trả lời

4

Tôi nghĩ rằng bạn đang tìm kiếm KeyDown:

$('.select2-input').on("keydown", function(e) { 
      if (e.keyCode == 13) { 
       $("#select2-drop-mask").click(); 
       $('#name').focus(); 
       e.preventDefault(); 
       } 
     }); 

Họ là một little different. Trong trường hợp này, nhấn phím không chèn bất kỳ thứ gì vào trường của bạn.

+0

ok hãy để tôi kiểm tra – Vicky

+0

xong nhưng hãy tin tôi đã thử vòng 10 đến 11 cách và tôi thất bại cảm ơn rất nhiều bạn đã làm ngày của tôi – Vicky

+0

Trong trường hợp của tôi, những gì tôi cần là "keyup" để tôi có thể nhận được giá trị hiện tại của .select2-input - keydown cung cấp cho bạn giá trị trừ đi ký tự mà người dùng đang nhập tại thời điểm đó. – tylerl

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