大家好我有一个如下的网格视图 我想获得已检查列的'user_id' 我怎么能这样做?
我可以轻松获取已检查的列ID,但我不知道如何在gridview中获取这些已检查列的数据 我想通过javascript获取它,以便我可以将其传递给服务
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'showOnEmpty'=>true,
'columns' => [
['class' => 'yii\grid\CheckboxColumn'],
[
'attribute' => 'event_id',
'label' => 'Event Title',
'value' => 'event.title'
],
[
'attribute' => 'user_id',
'label' => 'Email',
'value' => 'users.email',
],
'user_type',
],
]);
?>
这是我的javascript来获取已检查列的ID
jQuery(document).ready(function() {
btnCheck = $("#send");
btnCheck.click(function() {
var keys = $("#w0").yiiGridView("getSelectedRows");
}
});
让我告诉你这个
的流程在主页上是这样的网格视图 现在,用户将点击该小用户标志,这将打开您可以在下面看到的页面
当我想向所有选定用户发送消息时
因为在我的情况下,title
来自不同的表格,而name
和email
来自不同的表格,所以我希望ids
user
表
为此我想要user_id
,但我得到一些随机值
我能在这做什么???
我尝试了这个,但它返回了一些随机字符串
public function search($params)
{
if(!isset($_GET['id'])){
$id='';
}
else{
$id=$_GET['id'];
}
$query = Checkin::find()->where(['event_id'=> $id]);
$query->joinWith(['event', 'users']);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
if (!$this->validate()) {
return $dataProvider;
}
$query->andFilterWhere([
'id' => $this->id,
'created_date' => $this->created_date,
'created_by' => $this->created_by,
'updated_date' => $this->updated_date,
'updated_by' => $this->updated_by,
]);
$query->andFilterWhere(['like', 'user.email', $this->user_id]);
$query->andFilterWhere(['like', 'user_type', $this->user_type]);
$dataProvider->keys ='user_id';
return $dataProvider;
}
答案 0 :(得分:2)
更新您的DataProvider集$dataProvider->keys ='userId'
,然后您就可以获得user_id
的所有密钥
data-id
GridView并获取allSelectedColumns
答案 1 :(得分:0)
您只需要替换此代码
attributedTitle
以下代码
NLS_DATE_FORMAT