У меня есть эта форма:
<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.
Я бы оставил комментарий, но он не позволяет мне публиковать симпатичные результаты. Я повторил твой код
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>
Однако это приводит к ошибке:
Uncaught ReferenceError: jQuery не определен (…)
Uncaught ReferenceError: $ не определено (…)
Вам нужно по крайней мере включить Jquery, чтобы заставить работать мультиселектор. (Я не проверял это)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
Других решений пока нет …