2016-04-08 21 views
0

jquery-ui ile bir otomatik tamamlama alanı eklemek istiyorum. Değerler ve etiketler içeren bir nesne listesi var ve kullanıcı bir öğeyi seçtiğinde, değer gizli bir alandan geçiyor ve etiket otomatik tamamlama alanında. Ancak belgeler, "Kullanıcı bir öğeyi seçtiğinde değer, giriş öğesinin içine eklenecektir" diyor.Etiketle birlikte otomatik tamamlama, değer değil

Bu davranış değiştirilebilir mi? Etiketin görüntülendiği, değerin kendisinin değil, daha kullanıcı dostu olduğunu düşünüyorum. select sahada

+0

ben seçme işlevinde bir setTimeout ile gidebiliriz, çalışıyor, ama belki preventDefaut() hakkında düşünmedin – Eko

cevap

1

Odak: ui argüman olarak, sen büyü yapmak için ui.item.label ve ui.item.value kullanabilirsiniz kullanarak. Ön tanımlı jQuery davranışını engellemek için preventDefault() kullanın.

$('#your_element').autocomplete({ 
    // [...]  
    select: function(e,ui){ 
    e.preventDefault(); 
    // set value in your element 
    $(this).val(ui.item.label); 
    // set value in the hidden field 
    $('#hidden').val(ui.item.value); 
    }, 
    // [...]  
}); 
+0

daha iyi bir çözüm, teşekkür var! – Eko