回调Yii2的GridView CheckboxColumn

时间:2015-06-04 14:56:42

标签: javascript php yii2

我有GridView(Yii2),其中一列是布尔类型的数据。我希望能够切换该值并将其保存在我的数据库中。

我需要回调,但我没有看到CheckboxColumn有一个。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

不要看得太远。只需使用列设置的What's the best way to use R scripts on the command line (terminal)?向所有复选框添加特定的class即可。然后,您可以使用jQuery事件来监听更改并将其报告回来:

$('.checkbox-column').change(function(e) {
   var checked = $(this).is(':checked');
   $.ajax('route/target', {data: {id: $(this).closest('tr').data('key'), checked: checked}});   
});

Yii的GridView通常会为每行(data-key)呈现<tr> - 属性,您可以使用该属性来标识要更新的实际记录。

作为替代方案:$('input:checkbox', $('#w0')).change()也可以工作,假设您不需要额外的类,并且GridView是您的第一个小部件。

答案 1 :(得分:0)

所有GridView列都可以具有回调函数。您可以使用回调函数的结果设置每个singole列的value属性。