早上好,我遇到的问题是:提交表格后我无法选择多个选项,我希望有人帮助我。
<select name="utilizadores[]" id="utilizadores" multiple="multiple" class="selectpicker" data-live-search="true" data-actions-box="true" title="Utilizadores">
<?php while ($reg_sql=mysqli_fetch_array($res_sql)){?>
<option value="<?php echo $reg_sql['ID_USER']; ?>"><?php echo $reg_sql['NOMEUSER']; ?></option>
<?php } ?>
</select>
<script type="text/javascript">
document.getElementById('utilizadores').value = "<?php echo $_POST['utilizadores[]'];?>";
</script>
这是我的代码,在选择框中有各种选项
答案 0 :(得分:1)
您必须检查$ _POST [&#39; utilizadores&#39;]或$ _GET [&#39; utilizadores&#39;]是否取决于您的请求类型。我将在这里使用$ _POST来解释我的答案。
你的选择是多个,你可以使用in_array函数来检查db记录的结果是否在$ _POST数组中[&#39; utilizadores&#39;]
<select name="utilizadores[]" id="utilizadores" multiple="multiple" class="selectpicker" data-live-search="true" data-actions-box="true" title="Utilizadores">
<?php while ($reg_sql=mysqli_fetch_array($res_sql)){?>
**<option value="<?php echo $reg_sql['ID_USER']; ?>"
<?php
if(isset($_POST['utilizadores'])){
if(in_array($reg_sql['ID_USER'], $_POST['utilizadores'])){
echo 'selected';
}else{
echo '';
}
}
?>
>**<?php echo
$reg_sql['NOMEUSER']; ?></option>
<?php } ?>
</select>
答案 1 :(得分:0)
如果您的数据库结果还包含选择的行,则可以更有效地执行此操作,但是当您循环浏览时,只需将selected="selected"
属性添加到<option>
标记。
假设此范围内存在$_POST
数组,您可以使用PHP中的in_array
函数来确定是否已选择该选项(docs)。
基于三元的操作如下:
in_array($reg_sql['ID_USER'],$_POST['utilizadores']) ? 'selected="selected"' : ''
其中说&#34;如果ID_USER在post数组中,则打印所选属性,否则,打印一个空白字符串&#34;
全部放在一起:
<select name="utilizadores[]" id="utilizadores" multiple="multiple" class="selectpicker" data-live-search="true" data-actions-box="true" title="Utilizadores">
<?php while ($reg_sql=mysqli_fetch_array($res_sql)){?>
<option value="<?php echo $reg_sql['ID_USER']; ?>" <?= in_array($reg_sql['ID_USER'],$_POST['utilizadores']) ? 'selected="selected"' : '' $?>>
<?php echo $reg_sql['NOMEUSER']; ?>
</option>
<?php } ?>
</select>
答案 2 :(得分:0)
如何执行此操作的示例。如果是,则添加“selected”字符串,否则留空。您也可以写选择=“选中”。你可以做同样的事情来设置禁用或只读。
<select name="utilizadores[]" id="utilizadores" multiple="multiple" class="selectpicker" data-live-search="true" data-actions-box="true" title="Utilizadores">
<?php while ($reg_sql=mysqli_fetch_array($res_sql)){?>
<?php $selected = isset($reg_sql["mi_variable"]) ? "selected" : ""; ?>
<option value="<?php echo $reg_sql['ID_USER'];?>" <?php echo $selected; ?> >
<?php echo $reg_sql['NOMEUSER']; ?>
</option>
<?php } ?>
</select>
<script type="text/javascript">
document.getElementById('utilizadores').value = "<?php echo $_POST['utilizadores[]'];?>";
</script>