我在一个对话框中有一个表单,我向用户询问他希望他的比赛注册的冠军。我这样做的选择是这样的多选下拉列表: (笨)
<?php
foreach ($kampioenschappen as $kampioenschap) {
$options3[$kampioenschap->kampioenschapsId] = $kampioenschap->naam;
}
// Er moeten meerdere kampioenschappen geselecteerd kunnen worden
echo form_multiselect('kampioenschap', $options3, '', 'id="kampioenschap" class="text ui-widget-content" style="width:300px" size=' . count($kampioenschappen));
?>
因此用户可以选择多个锦标赛。
var dataString = $("#JqAjaxForm:eq(0)").serialize();
alert(dataString);
$.ajax({
type: "POST",
url: site_url + "/reeks_beheren/update",
async: false,
data: dataString,
dataType: "json",
error: function(a, b, c) {
alert(a.responseText);
alert(c);
}
});
此代码段将带有json的表单发送到控制器
$kampioenschappen = $this->input->post('kampioenschap');
这是我遇到麻烦的时候,当我提醒数据串.serialize给出了所有选定的锦标赛,但我没有在控制器中收到它们。
我有没有忘记这一步,或者我在这里做错了什么?
提前感谢您的答案。
答案 0 :(得分:0)
问题是您的多选下拉列表不是数组表示法。您应该在其名称中添加[]
括号以对其进行定义。
echo form_multiselect('kampioenschap[]', $options3, '', 'id="kampioenschap" class="text ui-widget-content" style="width:300px" size=' . count($kampioenschappen));
我假设你的问题是你的控制器没有收到ajax请求。也许在将来尝试对您的问题进行更具描述性的描述。 :)