如何将数据库中的选定值设置为Laravel中的下拉列表/选择框?

时间:2018-02-09 15:24:09

标签: javascript php jquery laravel drop-down-menu

我正在使用laravel 5.2和javascript。我有一个更新表单,其中包含一个下拉列表,我使用带有函数getTugasDetailUpdate的ajax调用它。我的问题是如何设置数据库中的值并使dropdownlist selected成为我之前选择的数据库中的值?以下是我在控制器中的代码。

public function getTugasDetailUpdate(Request $request)
{   
    $update_tugas_id = $request->get("V_ID_PK");
    $getDataListPengikut = DB::select("EXEC dbo.GET_KEMENPAR_LIST_PENGIKUT '".$update_tugas_id."'");
    $getPengikut2 = DB::select("EXEC dbo.LOV_M_PENGIKUT");
    $msg["opt"] ="";
    $no=1;
    foreach($getDataListPengikut as $dtListPengikut):

        $msg["opt"] .= '<tr>
            <td><select class="form-control" id="name_'.$dtListPengikut->KODE.'" name="nameupdate[]" data-live-search="true" style="width:100%">
                <option value=""> --Silahkan Pilih-- </option>'; 
                    foreach ($getPengikut2 as $getPeng){
                      $msg["opt"] .=   '<option value="'.$getPeng->KODE.'">'. $getPeng->DESKRIPSI .'</option>'; 
                    } 
                $msg["opt"] .='</select>
            </td>';
        $msg["opt"] .=  '</tr>';
    $no++;
    endforeach;
    echo json_encode($msg);
}

如何从这些控制器中获取值并将其设置在我的javascript中?我想让var optionS = $('#name_3').html();的ID与id="name_'.$dtListPengikut->KODE.'"相同吗?那些#name_3是硬编码,可能是name_4name_2等。

var i=1;
function addMe(e){
var optionS = $('#name_3').html(); 
    i++;
    $('#dynamic_field_update').append('<tr id="row'+i+'" class="dynamic-added"><td><select class="form-control" id="name_3" name="nameupdate[]" data-live-search="true" style="width:100%">'+optionS+' </select></td></tr>'); 
}

1 个答案:

答案 0 :(得分:0)

您应该将HTMLapplication logic分开。我建议你使用Laravel Collective包,这是一个最小的例子:

@foreach($getDataListPengikut as $dtListPengikut) {
    Form::select('XXXXXXXX_name',                 //Unique name for select
          ['key' => 'value', 'key2' => 'value2'], //Options for this select
          null,                                   //Default option (selected)
          [
             'placeholder' => 'Pick something',   //Classes applied to select
             'data-live-search' => 'true',
             'style' => 'width:100%'
          ]
     );
@endforeach