【问题标题】:How to set selected value from the database into a dropdownlist / selectbox in Laravel?如何将数据库中的选定值设置为 Laravel 中的下拉列表/选择框?
【发布时间】:2018-02-09 15:24:09
【问题描述】:

我正在使用 laravel 5.2 和 javascript。我有一个更新表单,其中包含一个下拉列表,我使用带有函数 getTugasDetailUpdate 的 ajax 调用它。我的问题是如何设置数据库中的值并使下拉列表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-&gt;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>'); 
}

【问题讨论】:

  • 我已经发布了一个解决方案,可能需要一些时间来实施,但从长远来看会更好

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


【解决方案1】:

您应该将您的HTML 与您的application 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

【讨论】:

    猜你喜欢
    • 2016-07-03
    • 2019-10-04
    • 2017-10-29
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多