2017-10-11 63 views
0

即時通訊新的jquery ui自動完成。我基本上使用Ajax自動完成,用PHP來獲取用戶列表。jqueryui自動完成,獲取選定的用戶ID

autocompleteajax.js

$(function() { 
    $("#ranksearch").autocomplete({ 
     source: function(request, response) { 
      console.log('in'); 
      $.ajax({ 
       url: "autocompleteajax.php", 
       dataType: "json", 
       data: { 
        q: request.term 
       }, 
       success: function(data) { 
        console.log(request); 
        console.log(data); 
        response(data); 
       } 
      }); 
     }, 
    }); 
}); 

和JSON,PHP是返回這個樣子的

{3: "Tomek To", 4: "Tomek Kula"} 

數量是用戶ID,並將該字符串名字姓氏。我想在某個地方存儲選定的用戶ID,之後有人從自動完成列表中選擇它。有沒有簡單的方法來實現它?

+1

複製可能https://stackoverflow.com/questions/19675069/how-to-get-value-of-selected-item-in-autocomplete –

回答

0

感謝help @ Dev.Joel我找到了解決方案。

在PHP我儲存用戶喜歡這個

$users[] = array('value'=>$uid,'label'=>$uname); 

然後我做這個

$(document).ready(function() { 
    $('#ranksearch').on('autocompleteselect', function (e, ui) { 
     e.preventDefault(); // prevent the "value" being written back after we've done our own changes 

     this.label = ui.item.label; 

     $('#ranksearch').val(this.label); 
     console.log(ui.item.value); 
    }); 
}); 

的東西得到了在JS的值我這樣做是同時打破,我不得不指派自己的標籤輸入,因爲它正在使用值。