我想显示表中列的值。我有一个 Gridview,其中放置了一个复选框列。选择复选框并单击以显示值时,我放置了一个 javascript
,其中使用了一个循环来收集所选复选框的信息。但点击按钮后我只能看到复选框 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
,但我想显示仪表序列号
的值。
我已经搜索过,但找不到解决方案
任何帮助将不胜感激。
最佳答案
如果您可以提供此元素的 html 代码,这将更好地为您提供工作代码。
您可以通过定位该元素的某些标识来获取该值,该标识可能与 Id(对于每个元素来说是唯一的)相关。你必须通过其他代码更改 -> this.value <- 。
if(strValue!="")
{
strValue = strValue + " , " + this.value;
}
else
strValue = this.value;
关于javascript - 如何使用 javascript 获取 yii2 中的列值而不是 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47227369/