javascript - 如何以 select2 数组形式检索或选择旧值?
问题描述
这是我的动态输入表单,我使用 select2 作为地址。但问题是如何在数组中的 select2 中检索旧值?
我想在联系地址(Select2)中检索旧值。这是我的路线
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(selected) 时,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>
解决方案
推荐阅读
- android - 如何通过道路计算两个位置之间的距离?
- python - 需要帮助理解 Page 生成的 python 代码
- javascript - build:web 在带有 typescript 的 npm 脚本中失败
- android - Pusher 客户端卡在重新连接模式
- ruby-on-rails - 使用服务类的计算属性构建散列
- postgresql - redhat pg_upgrade 权限错误
- angular - 如何在 TypeScript 的函数定义中用子类型替换类型?
- sql - 查询将分组行中的某些列映射到同一行中的多个列的表
- chef-infra - Ubuntu 19.10 上的厨师:错误的食谱
- excel - 数据透视表:使用大于过滤值