Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 如何在select2数组表单中检索或选择旧值?_Javascript_Html_Jquery_Ajax_Laravel - Fatal编程技术网

Javascript 如何在select2数组表单中检索或选择旧值?

Javascript 如何在select2数组表单中检索或选择旧值?,javascript,html,jquery,ajax,laravel,Javascript,Html,Jquery,Ajax,Laravel,这是我的动态输入表单,我使用select2作为地址。但问题是如何在数组中的select2中检索旧值 我正在尝试检索联系人地址中的旧值(选择2)。 这是我的路线 Route::get('/getAllAddress','AddressController@getAllAddress')->name('getAllAddress'); 这是我的控制器函数。当我执行dd($selected)时,数据来自数组形式,所以我想签入数组 public function getAllAddress

这是我的动态输入表单,我使用select2作为地址。但问题是如何在数组中的select2中检索旧值

我正在尝试检索联系人地址中的旧值(选择2)。 这是我的路线

  Route::get('/getAllAddress','AddressController@getAllAddress')->name('getAllAddress');
这是我的控制器函数。当我执行dd($selected)时,数据来自数组形式,所以我想签入数组

public function getAllAddress(){
 $q = $request->q ?? '';

    $selected = $request->selected ?? ''; 
        
        $addresses= Address::select('id','name')
           ->orderBy('name')
           ->where(function($query) use ($selected,$q) {
               if($selected)  $query->where('id', '=', $selected); // i want to check those array data and return to the ajax 
              
           })
           ->get()
           ->map(function($items){
               $data['id'] = $items->id;

               $data['text'] =  $items->name;

               return $data;
           });
        return response()->json(['results' => $addresses]);
}
这是我的AJAX。当我执行console.log(选中)时,231和332数据将出现

$(window).on('load', function(){
    initAjaxSelect($(this));
});
function initAjaxSelect($this){
   
    $('.addresses').select2({
      ajax: {
            url: 'getAllAddress',
            dataType: 'json',
            data: function (params) {
                var query = {
                    q: params.term,
                }
                return query;
            }
        },
       
    });
    
    
   var selected= $("select[name='contact_address[]']")
        .map(function(){
            return $(this).attr('data-selected');
        })
        .get();
   console.log(selected)// When i do console.log(selected) then 231 and 332 data are coming
   if(selected){
       $.ajax({
           type: 'GET',
           url: ajax,
           data: {selected: selected}
       }).then(function (data) {
           var option = new Option(data.results[0].text, data.results[0].id, true, true);
           $("select[name='contact_address[]']").append(option).trigger('change');
       });
   }

   
}
这是我的html

<tr>
   <td></td>
   <td></td>
   <td></td>
   <td>
     <select class="addresses form-control" name="contact_address[]" 
         data-selected="{{old('contact_address',  $contact->contact_address ?? null) }}>
     </select>
   </td>
</tr>


您的意思是,您需要将该值与现有的选择值/数据一起添加?@ejillasanj。是的,当前旧值仅从第一个数组中选择。因此,我需要分别选择选项或所选数据。您的意思是,您需要将该值与现有的选择值/数据一起添加?@ejillasanj。是的,当前旧值仅从第一个数组中选择。因此,我需要分别选择该选项或所选数据