Codeigniter multi_select JSON

时间:2013-03-28 21:33:42

标签: jquery json codeigniter

我在一个对话框中有一个表单,我向用户询问他希望他的比赛注册的冠军。我这样做的选择是这样的多选下拉列表: (笨)

<?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给出了所有选定的锦标赛,但我没有在控制器中收到它们。

我有没有忘记这一步,或者我在这里做错了什么?

提前感谢您的答案。

1 个答案:

答案 0 :(得分:0)

问题是您的多选下拉列表不是数组表示法。您应该在其名称中添加[]括号以对其进行定义。

echo form_multiselect('kampioenschap[]', $options3, '', 'id="kampioenschap" class="text ui-widget-content" style="width:300px" size=' . count($kampioenschappen));

我假设你的问题是你的控制器没有收到ajax请求。也许在将来尝试对您的问题进行更具描述性的描述。 :)