0

ダイアログにフォームがあり、どのチャンピオンシップに自分の大会を登録してほしいかをユーザーに尋ねます。これは、次のような複数選択ドロップダウンで行います: (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 を警告すると、選択したすべてのチャンピオンシップが表示されますが、コントローラーでそれらを受信しません。

私が忘れたステップがありますか、それともここで完全に間違ったことをしていますか?

可能な答えを事前にありがとう。

4

1 に答える 1

0

問題は、複数選択ドロップダウンが配列表記になっていないことです。[]そのように定義するには、その名前に括弧を追加する必要があります。

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

あなたの問題は、コントローラーがajaxリクエストを受信して​​いないことだと思いました。今後は、質問をより具体的にするようにしてください。:)

于 2013-03-29T21:10:15.977 に答える