我试图创建一个选择,为发送选定的值在一个apache后,我搜索如何做到这一点,但我看到大多数情况下,选择必须填充数据库中的数据,这是不是这样的。我只需要用户选择两个值,我设法创建营地至少在视觉上
Field inside the gridview
我用这段代码做到了:
[
'attribute' => 'warehouse',
'label' => Yii::t('wms', 'Almacen'),
'vAlign' => 'middle',
'value' => function ($model) {
return Html::dropDownList('w.id', 'name',
['1' => 'Sym 1',
'2' => 'Sym 2',
],
['id' => 'Almacen', 'class' => 'form-control'
]);
},
'format' => 'raw'
],
字符串
但在选择它的时刻,它不采取的价值:
$(keys).each(function(i, key) {
var order = parseInt($('tr[data-key=' + key + ']').find('.warehouse').html());
units.push({
key: key,
order: warehouse,
value: $('#pa-'+key).val()
})
});
型
这是一个快速修复,但在我看来,如果我从数据库调用它,你只能从gridview发送数据回来,但我可能错了,有点新yii2和许多方法来做这里的事情。这不是一个搜索框,是一个项目列表,人们选择其中的一个并发送数据回来
1条答案
按热度按时间4smxwvx51#
首先,确保在GridView中正确地生成了您的数据库。您的代码看起来很适合这一部分,但是如果GridView中有多行,您可能希望确保每个数据库都有一个唯一的id属性,对吗?
尝试修改数据库的id,使其对于每一行都是唯一的:
字符串
你也可以稍微改变一下你的JavaScript,也许你需要调整选择器来正确地定位对象。
型
您应该尝试确保您的Ajax请求被正确地设置为将units数组发送到服务器。
同样在服务器端,试着看看你是否正确地处理了传入的数据。这将取决于你的Yii2控制器的操作。
在JavaScript中使用控制台日志,在Yii2应用程序中使用调试日志来跟踪问题可能发生的位置。