我想显示表格中列的值。我有一个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
的值。
我已经搜索过但无法找到解决方案
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
如果您可以提供这些元素的HTML代码,那么为您提供工作代码会更好。
您可以通过定位此元素的某些标识来获取此值,该标识可能与Id相关(每个元素都是唯一的)。你必须改变 - &gt; this.value&lt; - 由其他一些代码。
if(strValue!="")
{
strValue = strValue + " , " + this.value;
}
else
strValue = this.value;