为什么表单提交后$_POST数组中没有来自select控件的选中元素的值



我有以下HTML代码:

<form action="rebates.php" role="form" method="post">
<select id="example28" multiple="multiple" name="applicable_states">
    <option value=""  selected='selected'>Select Unit</option>
    <option value="1" >Alabama</option>
    <option value="2" >Alaska</option>
    <option value="3" >Arizona</option>
    <option value="4" >Arkansas</option>
    <option value="5" >California</option>
 </select>
<button type="submit" class="btn btn-primary">Preview</button>
</form>

选择控制的JQuery代码如下:

/*jQuery Code*/
 $(document).ready(function() {
    window.prettyPrint() && prettyPrint();
     $('#example28').multiselect({
         includeSelectAllOption: true,
         maxHeight: 150
     });
 });

我使用了Bootstrap的js和css(Multiselect和Pretify)来实现这一点。我的问题是,在$_POST array oe rebates.php中提交表单后,我没有得到检查元素的值。有人能在这方面帮助我吗?提前谢谢。当我从select控件中检查一些值并提交表单时,我得到的$_POST数组如下:

Array
(
 [applicable_states] => 11
 [multiselect] => 11
)

为什么会发生这种情况?rebates.php中的代码如下:

<?php
print_r($_POST); die;
?>

PHP需要知道它是一个数组。因此,您需要更改select的名称。

name="applicable_states[]"

最新更新