我从事PHP销售计划
我有一个输入来从autocomplete
列表
我只想显示我使用product name
输入的产品的搜索结果,或显示product barcode
而不显示条形码的产品的搜索结果
我的源代码的PHP代码是:
$source = array();
$data = mysql_query("select * from items");
while($d = mysql_fetch_assoc($data))
{
$array[id] = $d['id'];
$array[value] = $d['product_name'];
$array[lable] = $d['product_barcode'];
array_push($source,$array);
}
$array = json_encode($source);
我的js代码是:
$('#main_item').autocomplete({
source: <?=$array?>,
select: function(event, ui) {
$('.pur_items_id').last().val(ui.item.id);
$('.item_name').text(ui.item.value);
}
});
我需要的是,当输入barcode
时,自动完成功能会显示带有该条形码的产品
不在自动填充搜索结果中显示条形码。
答案 0 :(得分:0)
好的,谢谢你们每个人
我想出了一个解决方案
如果有任何方法可以改进该解决方案并使其更好,请分享
我的代码:
source = <?=$array?>;
barcode = new Array;
jQuery.map( source, function( n , i) {
barcode[i] = ( n.lable );
});
$('#main_item').autocomplete({
source: source,
select: function(event, ui) {
$('.pur_items_id').last().val(ui.item.id);
$('.item_name').text(ui.item.value);
}
}).keyup(function(e,u){
var item = $.inArray($(this).val(),barcode);
if(item != -1)
{
$('.pur_items_id').last().val(source[item]['id']);
$('.item_name').text(source[item]['value']);
}
});