好的大家好,我需要帮助我的工作需要在我的lara上使用jquery autocomplete,我正在使用laravel 4, 所以没有任何进一步,这是我的代码
detailOrdercontroller
$pj = Input::get('pj');
foreach($pj as $order) {
if(DB::table('detail_order')->insert($order)){}
else{ return Redirect::to()->with('message','fail'); }
}
return Redirect::to()->with('message','success');
查看(表格)
@for($x = 1; $x <= 2; $x++)
{{ Form::text('pj['. $x .'][order_id]') }}
{{ Form::text('pj['. $x .'][product_id]', null, ['class'=>'productId'. $x .'']) }}
{{ Form::text('pj['. $x .'][product_name]', null, ['class'=>'productName'. $x .'']) }}
{{ Form::text('pj['. $x .'][price]') }}
{{ Form::submit('submit') }}
@endfor
和jquery
var x;
for(x = 1; x <= 2; x++) {
$('.productName'+x).autocomplete({
source: 'admin/getDataB',
minLength: 2,
autoFocus: true,
select:function(e, ui){
$('.productId'+x).val(ui.item.id);
}
});
}
Route::get('getdatab',['uses' => function(){
$term = Input::get('term');
$data = Product::distinct()->select('name','id')->where('name', 'LIKE', '%'.$term.'%')->groupBy('id')->take(15)->get();
$result = [];
foreach($data as $d) {
if(strpos(Str::lower($d),$term) !== false) {
$result[] = ['value' => $d->nama, 'id' => $d->id];
}
}
return Response::json($result);
}, 'as'=> 'getdatab']);
// END get product -----
我从中生成2个表单字段。
自动完成工作正常,但它没有给出任何回复,我的意思是,当我从第一个字段的 productName (自动完成)列表中选择时,我想要类似的东西, productId 第一个字段可以包含数据库中的实际产品ID
我在jquery中尝试过类似的东西
***
select:function(e, ui) {
for(var x = 1; x <= 2; x++){
$('.productId'+x).val(ui.item.id);
}
}
***
它有效,但 productId 字段(来自第一个和第二个字段)都包含来自 productName 第一个字段的产品ID,这不是我的方式想。
对不起,我的英语很可怕。如果你不明白我的意思,请随时问我任何事情。