0

2 つの選択ボックスがあります。最初のボックスには使用可能なすべてのアイテムが含まれ、2 番目のボックスには最初の選択ボックスから選択したアイテムが含まれます。

$items=$this->Database->getItems();
$mySelect=form_multiselect('addedMaterials', $items, '1', 'id="addedMaterials" multiple="multiple"');

2 番目の選択ボックスからすべてのアイテムを送信するには、次のようにします。

function selectAll()
    {
      var selObj = document.getElementById('addedMaterials');
      for (var i=0; i<selObj.options.length; i++) {
        selObj.options[i].selected = true;
      }
    }

それでは、ボックスからアイテムを取得するコントローラーに移動します...

$stuff = $this->input->post('addedMaterials');

私の問題は、すべてではなく、最後に選択されたアイテムのみを取得することです。セレクトボックスのすべてのアイテムを取得するにはどうすればよいですか?

4

1 に答える 1

1

私はここで私の解決策を見つけました: Post values from a multiple select

複数選択を宣言するとき、属性「name」は name='mySelect[]' でなければなりません。私の場合、次のようになります。

    $mySelect=form_multiselect('addedMaterials[]', $items, '1', 'id="addedPrinters" multiple="multiple"');
于 2013-10-09T23:29:23.197 に答える