0
下面的客戶端JavaScript不起作用,因爲代碼在cb被填充之前完成。在SignalR 中填充cb函數失敗,因爲調用是異步的,所以太晚了。如何使用Twitter Typeahead與SignalR獲取自動填充建議
我如何填充來源使用SignalR響應用戶輸入到我的typeahead文本框?
var tonameSource = function (query, cb) {
setTimeout(function() {
var prefix = $('#toname').val();
var myCBval = [];
talk.server.getpcont(prefix, ConnectionId)
.done(function (mmID) {
$.each(mmID, function() {
var myOBJ = this;
myCBval.push({
name: myOBJ.name,
ID: myOBJ.ID
});
});
}).fail(function (error) {
//
});
cb(myCBval);
}, 300)
};
$(".tt-toname").typeahead(null, {
minLength: 2,
source: tonameSource,
displayKey: 'name',
}).on('typeahead:selected', function (obj, datum) {
//$(".tt-name").typeahead('val', datum.name).typeahead('close');
});
這是偉大的,出色地完成 – 2014-11-19 13:03:09