<script type="text/javascript">
$(function(){
var parent_id = {};
var father_name = [];
var father_occupation = [];
var father_tele_no = [];
var father_handph = [];
var mother_name = [];
var mother_occupation = [];
var mother_tele_no = [];
var mother_handph = [];
var email = [];
var remark = [];
var throttledRequest = _.debounce(function(query, process){
$.ajax({
url: '<?= base_url("student/jason_parent"); ?>
'
,cache: false
,success: function(data){
parent_id = {};
father_name = [];
console.log(data);
_.each( data, function(item, ix, list){
father_name.push( item.father_name );
parent_id[ item.father_name ] = item.parent_id;
father_occupation[ item.father_name ] = item.father_occupation;
father_tele_no[ item.father_name ] = item.father_tele_no;
father_handph[ item.father_name ] = item.father_handph;
mother_name[item.father_name] = item.mother_name;
mother_occupation[item.father_name] = item.mother_occupation;
mother_tele_no[item.father_name] = item.mother_tele_no;
mother_handph[item.father_name] = item.mother_mother_handph;
email[item.father_name] = item.email;
remark[item.father_name] = item.remark;
});
process( father_name );
}
});
}, 300);
$(".typeahead").typeahead({
source: function ( query, process ) {
throttledRequest( query, process );
}
, updater: function ( selectedName ) {
$( "#id" ).val( parent_id[ selectedName ]);
$( "#father_occupation" ).val( father_occupation[ selectedName ]);
$( "#father_tele_no" ).val( father_tele_no[ selectedName ]);
$( "#father_handph" ).val( father_handph[ selectedName ]);
$( "#mother_name" ).val( mother_name[ selectedName ]);
$( "#mother_occupation" ).val( mother_occupation[ selectedName ]);
$( "#mother_tele_no" ).val( mother_tele_no[ selectedName ]);
$( "#mother_handph" ).val( mother_handph[ selectedName ]);
$( "#email" ).val( email[ selectedName ]);
$( "#remark" ).val( remark[ selectedName ]);
return selectedName;
}
});
});
</script>
它不起作用
答案 0 :(得分:0)
我在去抖时有类似的问题,在我的情况下是不同的,但在这里我认为问题是你没有退回去抖功能。
我认为如果你这样使用它应该有用:
$(".typeahead").typeahead({
source: function ( query, process ) {
return throttledRequest( query, process );
},
...
);