1 つのテキスト ボックスで ajax を使用したブートストラップの typeahead スクリプトを使用しました。
$('#EquipmentLogEquipmentType').typeahead({
source: function(query, process) {
var $url =SITE_URL+ 'api/equiplg_typefields_typeahead/' + query + '.json';
var $items = new Array;
var id=$(this).attr('id');
id=id.split('eq_');
id=id[1];
$items = [""];
$.ajax({
url: $url,
dataType: "json",
type: "POST",
data: { field_name: id},
success: function(data) {
console.log(data);
$.map(data, function(data){
var group;
group = {
id: data.id,
name: data.name,
toString: function () {
return JSON.stringify(this);
//return this.app;
},
toLowerCase: function () {
return this.name.toLowerCase();
},
indexOf: function (string) {
return String.prototype.indexOf.apply(this.name, arguments);
},
replace: function (string) {
var value = '';
value += this.name;
if(typeof(this.level) != 'undefined') {
value += ' <span class="pull-right muted">';
value += this.level;
value += '</span>';
}
return String.prototype.replace.apply('<div style="padding: 10px; font-size: 1.5em;">' + value + '</div>', arguments);
}
};
$items.push(group);
});
process($items);
}
});
},
property: 'name',
items: 10,
minLength: 2,
updater: function (item) {
var item = JSON.parse(item);
console.log(item.name);
return item.name;
}
});
上記のコードで、 $(this).attr('id'); について言及しました。これは未定義を示しています...だから、タイプアヘッドがターゲットを取得するフィールドの属性を取得する方法を誰か教えてもらえますか?
前もって感謝します :)