laravel jquery自动完成响应

时间:2015-10-09 07:03:46

标签: javascript php jquery laravel autocomplete

好的大家好,我需要帮助我的工作需要在我的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,这不是我的方式想。

对不起,我的英语很可怕。如果你不明白我的意思,请随时问我任何事情。

0 个答案:

没有答案