Hola chicos, tengo una vista de cuadrícula como la siguiente y quiero obtener el 'user_id' de la columna marcada, ¿cómo puedo hacer eso?
Podría obtener fácilmente la identificación de la columna marcada, pero no sé cómo obtener los datos de esas columnas marcadas en gridview.Quiero obtenerlo a través de javascript para poder pasarlo al servicio.
<?= 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',
],
]);
?>
y aquí está mi javascript para obtener los identificadores de la columna marcada
jQuery(document).ready(function() {
btnCheck = $("#send");
btnCheck.click(function() {
var keys = $("#w0").yiiGridView("getSelectedRows");
}
});
Déjame decirte el flujo de esto
En la página de inicio hay una vista de cuadrícula como esta. Ahora el usuario hará clic en ese pequeño signo de usuario y eso abrirá la página que puede ver a continuación.
Ahí es cuando quiero enviar mensajes a todos los usuarios seleccionados
Debido a que en mi caso title
es diferente de la mesa y name
y email
son de diferentes mesa, así que quiero ids
de user
mesa
Para eso quiero, user_id
pero obtengo algunos valores aleatorios ¿Qué puedo hacer aquí?
Intenté esto pero está devolviendo una cadena aleatoria
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;
}
Actualice su conjunto de DataProvider y $dataProvider->keys ='userId'
luego podrá obtener todas las claves deuser_id
data-id
de GridView y obtener allSelectedColumns
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras