foreach将数据添加到selectpicker

时间:2019-07-22 19:04:05

标签: javascript select

我希望能够使用选项来完成此selectpicker,但是这不会在该js函数中添加选项。我尝试使用select类,它可以正常工作,但可以使用selectpicker来工作。

HTML

  <select class="selectpicker form-control" data-style="btn-default"
        data-placeholder=".:: Dirección ::." tabindex="-1"
       data-minimum-results-for-search="10"  id="address" name="address">
  </select>

JS

$.each(response.result['address1'], function(k, v) {
    $('<option>').val(v.c_bpartner_location_id).text(v.address1).appendTo('#address');
 }); 

PHP

$address1[] = array();
foreach($records as $row) {
    $direccion = $row - > direccion;
    array_push($address1, array("address1" => $row -> address1,
        "c_bpartner_location_id" => $row -> c_bpartner_location_id))
}
$data['result'] = array(
    'direccion' => $direccion,
    'address1' => $address1);

可能是什么错误?

1 个答案:

答案 0 :(得分:1)

$.each函数的回调具有两个参数:键和值或数组和值中的索引。

在您的情况下,我假设您具有标量类型的direccionaddress1值。对于您的示例,假设我们有一个像这样的对象:

$data = [
  'result' => [
    'direccion' => 'left',
    'address1'  => 'Street 1, City',
  ]
];

因此,对于您的JS代码,您应该使用以下代码:

$.each(response.result['address1'], function(k, v) {
    $('<option>').val(v).text(v).appendTo('#address');
 }); 

由于关联数组$data['result']的每个部分,您将获得键和值对( k v ):

k: direccion, v: left
k: address1, v: Street 1, City