我有这样的表格:
<script src="./bootstrap-select/js/bootstrap-select.js"></script>
<form action="rec.php" name="submit" method="post">
<select name="all[]" class="form-control">
<?php
for($i = 0; $i < 10; $i++) {
?>
<option value="details<?=$i?>"><?=$i?></option>
<?php } ?>
</select>
<?php
for($i = 0; $i < 10; $i++) {
?>
<input type = "hidden" name="infos[]" value="<?=$i?>">
<?php } ?>
<input type="submit" vale="submit" name="submitit">
</form>
rec.php:
<?php
print_r($_REQUEST);
?>
当我提交表单时,我只获得infos[]
的数组而不是all[]
。当我删除bootstrap-select
并重新提交表单时,我会得到所有结果。
如何修复bootstrap-select以解决我的问题?
我正在使用Bootstrap-select v1.10.0。
答案 0 :(得分:0)
我已发表评论,但它不允许我发布漂亮的输出。我复制了你的代码
的index.php
<script src="bootstrap-select/js/bootstrap-select.js"></script>
<form action="rec.php" name="submit">
<select name="all[]" class="form-control">
<?php
for($i = 0; $i < 10; $i++) {
?>
<option value="details<?=$i?>"><?=$i?></option>
<?php } ?>
</select>
<?php
for($i = 0; $i < 10; $i++) {
?>
<input type = "hidden" name="infos[]" value="<?=$i?>">
<?php } ?>
<input type="submit" value="submit" name="submitit">
</form>
rec.php
<?php
echo "<pre>";
var_dump($_REQUEST);
echo "</pre>";
您似乎正在尝试实施多重选择,但我很清楚,我只看到一个常规选择,而常规选择只能有一个值
这是我看到的输出:
array(4) {
["all"]=>
array(1) {
[0]=>
string(8) "details1"
}
["infos"]=>
array(10) {
[0]=>
string(1) "0"
[1]=>
string(1) "1"
[2]=>
string(1) "2"
[3]=>
string(1) "3"
[4]=>
string(1) "4"
[5]=>
string(1) "5"
[6]=>
string(1) "6"
[7]=>
string(1) "7"
[8]=>
string(1) "8"
[9]=>
string(1) "9"
}
["submitit"]=>
string(6) "submit"
["Phpstorm-2043c6b"]=>
string(36) "........." <- ignore this
}
你能解释一下这个输出与你的期望有什么不同吗?
注意: 您链接到的文档建议选择的类应为: selectpicker
你需要这一行:
<script>
$('.selectpicker').selectpicker();
</script>
然而,这会导致错误:
未捕获的ReferenceError:未定义jQuery(...)
未捕获的ReferenceError:$未定义(...)
您至少需要包含Jquery才能进行多选工作。 (我还没有测试过这个)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">