【问题标题】:How to set selected value in jquery select2 laravel?如何在 jquery select2 laravel 中设置选定值?
【发布时间】:2018-11-03 03:42:50
【问题描述】:

我在我的 laravel 应用程序中使用 Select2。更新数据时出现问题。我之前输入的数据库中有一个数据。但是当我尝试更新时,我的 select2 中不会选择数据。 select2 的列表中有如下图所示的数据:

我也在使用 ajax,所以如果我更改患者关系数据,患者姓名会根据患者关系自动更改。这是我的功能:

function medical_update_modal(ID, CLAIMDATE, EMPL_ID, PATIENTRELATIONSHIP, EMPLFAM_ID, EMPLFAM_NAME, CLAIM_TYPE, CLAIMAMOUNT, MEDICALPARTNER, CLAIMTYPE) {
    $('#medical_id_update').val(ID)
    $('#receipt_date_update').val(CLAIMDATE);
    $('#patient_relationship_update').val(PATIENTRELATIONSHIP);
    $('#claim_type_update').val(CLAIM_TYPE);
    $('#claim_amount_update').val(CLAIMAMOUNT);
    $('#partner_type_update').val(MEDICALPARTNER);
    $('#claim_type_update').val(CLAIMTYPE);
    $('.selectpicker').select2('destroy');
    $('.selectpicker').select2({
        theme: "bootstrap"
    });
    $.ajax({
        url: "getPatientName",
        type: "GET",
        data: "PATIENT_RELATIONSHIP="+PATIENTRELATIONSHIP,
        cache: false,
        success: function(data){
          var obj = $.parseJSON(data);
          $("select#patient_name_update").html(obj.opt);
        }
    }); 
}

这是控制器中的代码:

public function getPatientName(Request $request)
{   
    $relation = $request['PATIENT_RELATIONSHIP'];
    if($relation == 'Own Self'){
        $getpatientrelation = DB::select("SELECT EMPL_ID AS EMPLFAM_ID, EMPL_NAME AS EMPLFAM_NAME FROM [HUMANCAPITAL].[dbo].[EMPLOYEE] WHERE EMPL_ID = '" . Session::get('Empl_ID') . "'");
    }
    else{
        $getpatientrelation = DB::select("SELECT EMPLFAM_ID, EMPLFAM_NAME, EMPLFAM_RELATIONSHIP FROM [HUMANCAPITAL].[dbo].[EMPLFAMILY]  WHERE EMPL_ID = '". Session::get('Empl_ID') ."' and EMPLFAM_GENDER = 'Female' and EMPLFAM_RELATIONSHIP = 'Spouse'");
    }

    $msg["opt"]="";
    $msg["opt"] .='<option></option>';
    foreach($getpatientrelation as $getData):
        $msg["opt"] .='<option value="'.$getData->EMPLFAM_ID.'"> '.$getData->EMPLFAM_NAME.'</option>';
    endforeach;
    echo json_encode($msg);

}

这是视图中的代码:

<select id="patient_name_update" name="patient_name_update" class="form-control selectpicker"  style="width:100%" required></select>

你知道我错过了什么吗?

【问题讨论】:

    标签: php jquery laravel select jquery-select2


    【解决方案1】:

    使用 jquery .va() 方法设置选定的值,如

    success: function(data){
              var obj = $.parseJSON(data);
              $("select#patient_name_update").html(obj.opt);
              $("select#patient_name_update").val(selectedval);
            }
    

    【讨论】:

      【解决方案2】:

      您正在使用 select2,所以不要再混淆了。

      在服务器端加载/循环您的选项时,只需将 selected="selected" 添加到您希望自动显示的选项中。

      然后在页面末尾添加 javascript

      <script>
       $(document).ready(function() {
           $('select').select2();
       });
      </script> 
      

      Select 2 将自动显示具有 selected="selected" 的选定选项。

      谢谢

      【讨论】:

        猜你喜欢
        • 2021-08-30
        • 2012-10-05
        • 1970-01-01
        • 1970-01-01
        • 2016-11-18
        • 1970-01-01
        • 2017-11-10
        相关资源
        最近更新 更多