2017-10-11 75 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的值我这样做是同时打破,我不得不指派自己的标签输入,因为它正在使用值。