我有GridView
(Yii2),其中一列是布尔类型的数据。我希望能够切换该值并将其保存在我的数据库中。
我需要回调,但我没有看到CheckboxColumn
有一个。我怎样才能做到这一点?
答案 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
属性。