2017-11-10 11 views
0

내 테이블에있는 칼럼의 값을 표시하고 싶습니다. 나는 checkbox column을 넣은 Gridview을 가지고 있습니다. 확인란을 선택하고를 클릭하여 값을 표시하려면 선택한 확인란의 정보를 수집하는 루프를 사용한 javascript을 배치했습니다. 그러나 버튼을 클릭하면 checkbox ID 만 볼 수 있습니다. 아래는 내가 한 일이다yii2에서 ID 대신 칼럼 값을 얻는 방법 자바 스크립트를 사용하여

액션

$sql = "SELECT DISTINCT ms.`meter_msn` AS 'Meter Serial Number', u.`name` AS 'Issued To',ps.`name` AS 'Store' FROM `meters` ms 
INNER JOIN `ogp_header` ogph ON ms.`issued_user` = ogph.`issuer` 
INNER JOIN `project_store` ps ON ogph.`store_id` = ps.`id` 
INNER JOIN `user` u ON `ogph`.`issuer` = u.`id` 
$where AND ms.`meter_status` = 'Installation Ready' AND ogph.`status` IN ('Prepared', 'Canceled') 
ORDER BY ms.`id` DESC " 
$dataProvider = new SqlDataProvider([ 
     'sql' => $sql, // $sql is the resulted query 
     'totalCount' => $count, 
     'pagination' => [ 
       'pageSize' => 30, 
      ], 
    ]); 


    return $this->render('viewcreated', [ 
     'dataProvider' => $dataProvider, 
     'model' => $this->findModel($id), 
     'id'=> $model->id 
     /*'searchModel' => $searchModel*/ 
    ]); 

내보기에서

<?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
      /*'filterModel' => $searchModel,*/ 
      'id'=>'grid', 
     'columns' => [ 

     ['class' => 'yii\grid\CheckboxColumn'], 

     'Meter Serial Number', 
     'Issued To', 
     'Store',   

], 
<button type="button" class="btn btn-success" id="myid">View Selected Rows</button> 

javascript 내가 클릭하면 지금

$(document).ready(function() {  

$('#myid').click(function() { 

    var strValue = ""; 

    $('input[name="selection[]"]:checked').each(function() { 

    if(strValue!="") 
     { 
     strValue = strValue + " , " + this.value; 

     } 
    else 
     strValue = this.value; 


}); 
    alert(strValue); 
}) }); 

했을 버튼은 ID 만 보이지만, Meter Serial Number의 값을 표시하고 싶습니다.

Here is the view when I click on the button here is the screenshot

내가 검색하지만 솔루션

어떤 도움은 매우 극명하게 될 것이다을 찾을 수있다.

답변

1

이 요소의 html 코드를 제공 할 수 있다면 작업 코드를 제공하는 데 더 좋을 것입니다.

이 값은 각 요소에 고유 한 Id와 관련 될 수있는이 요소의 일부 ID를 타겟팅하여 얻을 수 있습니다. 그리고 당신은 -> this.value < - 다른 코드에 의해 변경해야합니다.

if(strValue!="") 
    { 
    strValue = strValue + " , " + this.value; 

    } 
else 
    strValue = this.value; 
+0

내 코드를 업데이트했습니다. 열을 표시하고있는 쿼리를 배치했습니다. 쿼리는 여러 테이블에서 설정됩니다. –