我从事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
时,自动完成显示带有该条形码的产品而不在自动完成搜索结果中显示条形码。
好的,感谢每一位
我想出了一个解决方案
如果有任何方法可以改进该解决方案并使其变得更好,请分享
我的代码:
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']);
}
});