Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript laravel jquery select2 multiselect-初始化选定元素_Javascript_Php_Laravel_Laravel 5.2_Jquery Select2 - Fatal编程技术网

Javascript laravel jquery select2 multiselect-初始化选定元素

Javascript laravel jquery select2 multiselect-初始化选定元素,javascript,php,laravel,laravel-5.2,jquery-select2,Javascript,Php,Laravel,Laravel 5.2,Jquery Select2,大家早上好,我在尝试将通过ajax请求获得的初始选定选项设置为jquery select2 multi-select时遇到了麻烦。如果我使用这个控件,多重选择就可以了。当我必须编辑以前保存的模型时,会出现问题,因为我以前选择的所有选项都不会显示 我的看法是: <div class="form-group {{ $errors->has('pubblicazione_giuridica_id') ? 'has-error' : ''}}"> {!! Form::labe

大家早上好,我在尝试将通过ajax请求获得的初始选定选项设置为jquery select2 multi-select时遇到了麻烦。如果我使用这个控件,多重选择就可以了。当我必须编辑以前保存的模型时,会出现问题,因为我以前选择的所有选项都不会显示

我的看法是:

<div class="form-group {{ $errors->has('pubblicazione_giuridica_id') ? 'has-error' : ''}}"> 
    {!! Form::label('pubblicazione_giuridica_id', 'Law Pubs', ['class' => 'col-sm-3 control-label']) !!} 
    <div class="col-sm-6"> 
        {!! Form::select('pubblicazione_giuridica_id[]', [$pubGiurList], null, ['class' => 'form-control', 'id'=>'select-pgiur', 'multiple'=>'multiple']) !!} 
        {!! $errors->first('pubblicazione_giuridica_id', '<p class="help-block">:message</p>') !!} 
    </div> 
控制员:

public function edit($id, Request $request) { 
    $procedure = $this->getProcedure($id, $request, true); 
    if (!$procedure) { 
        return redirect('gare/procedure')->with('alert-warning', 'Gara non trovata - Operazione non consentita'); 
    } 
    return view('gare.procedures.edit', [ 'procedure'=>$procedure, 'opChoiceList'=>$this->getOpChoiceList(), 'pubGiurList'=>json_encode(GaraPubblicazioneGiuridica::GetPubByGaraId($procedure->id)) ]); 
}
型号:

public static function GetPubByGaraId($id){
    //TODO: visualizzare le selected publications
    $procagg = GaraPubblicazioneGiuridica::where('gara_id','=',$id)->select('id')->get();
    if($procagg){
        $plucked = $procagg->pluck('nome');
        $toReturn = array();
        foreach($plucked as $key=>$value){
            $toReturn[$key]=$value;
        }
        return $toReturn;
    }
    return "";
}
你能解释一下吗?
提前感谢。

您可以在J-query事件上创建ajax调用,并通过id绑定数据

$select-pgiur.valdata.items.triggerchange


如果我正确理解您的最终目标,您可能希望在Select2使用从Ajax请求接收的数据初始化后,通过选择选项来更新Select2 multi-select

如果是这种情况,您正在寻找.trigger'change'事件

我个人使用VueJ和手工制作的表单,但这应该为您指明正确的方向:

$("#your_select2_id").val(selected_values_array).trigger("change");
所选的_values_数组是一个JS数组,其中包含要选择的值。.trigger然后更新Select2以显示它们


希望有帮助

制作下拉选择器时,可以指定最初选择的选项:

Form::select(
   'pubblicazione_giuridica_id[]',
   [$pubGiurList],  
   $opChoiceList, 
  ['class' => 'form-control', 'id'=>'select-pgiur', 'multiple'=>'multiple']
)
但是,这意味着您需要使用最初选择的选项预先填充AJAX select2下拉列表

Form::select(
   'pubblicazione_giuridica_id[]',
   [$pubGiurList],  
   $opChoiceList, 
  ['class' => 'form-control', 'id'=>'select-pgiur', 'multiple'=>'multiple']
)