如何使用javascript获取列值而不是yii2中的ID

时间:2017-11-10 16:36:16

标签: javascript php gridview checkbox yii2

我想显示表格中列的值。我有一个Gridview,其中我放置了checkbox column。在选中复选框并单击以显示值时,我放置了javascript,其中我使用了一个循环来收集所选复选框的信息。但是点击按钮,我只能看到checkbox 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 个答案:

答案 0 :(得分:1)

如果您可以提供这些元素的HTML代码,那么为您提供工作代码会更好。

您可以通过定位此元素的某些标识来获取此值,该标识可能与Id相关(每个元素都是唯一的)。你必须改变 - &gt; this.value&lt; - 由其他一些代码。

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

    }
else 
    strValue = this.value;