2 回答
TA贡献1862条经验 获得超6个赞
您可以使用此代码。尽管我尚未测试代码,但让我与您分享我的逻辑,以使您更好地理解它。我添加了一个条件,即如果提交了表单,$_POST['toolchain']则它应显示选中的表单,否则应以常规方式显示它。
<?php
$filename = 'select.txt';
$eachlines = file($filename, FILE_IGNORE_NEW_LINES);
if(isset($_POST['toolchain'])
{
?>
<form action="#" method="post">
<select id="toolchain" name="toolchain" onchange='this.form.submit()'>
<option selected value="<?php echo $_POST['toolchain']; ?>"><?php echo $_POST['toolchain']; ?></option>
<?php foreach($eachlines as $lines){
if($lines!=$_POST['toolchain'])
echo "<option value='".$lines."'>$lines</option>";
}?>
</select>
</form>
<?php }
else{
?>
<form action="#" method="post">
<select id="toolchain" name="toolchain" onchange='this.form.submit()'>
<option selected value="base">Please Select</option>
<?php foreach($eachlines as $lines){
echo "<option value='".$lines."'>$lines</option>";
}?>
</select>
</form>
<?php }
?>
这是正常但漫长的方式。您还可以在表单内部添加条件。如果提交表单意味着if(isset($_POST['toolchain']))您可以option对$_POST['toolchain']内部foreach循环进行
更新,
则将条件放入表单中。如果您因为我未测试代码而遇到任何错误,请进行更新
<?php
$filename = 'select.txt';
$eachlines = file($filename, FILE_IGNORE_NEW_LINES);
?>
<form action="#" method="post">
<select id="toolchain" name="toolchain" onchange='this.form.submit()'>
<?php if(isset($_POST['toolchain']))
{
?>
<option value="base">Please Select</option>
<?php foreach($eachlines as $lines){
if($_POST['toolchain']==$lines))
{
echo "<option selected value='".$lines."'>$lines</option>";
}
else {
echo "<option value='".$lines."'>$lines</option>";
}
}
}
else {
?>
<option selected value="base">Please Select</option>
<?php foreach($eachlines as $lines){
echo "<option value='".$lines."'>$lines</option>";
}
}
?>
</select>
</form>
TA贡献1757条经验 获得超8个赞
像这样更改代码
<?php foreach($eachlines as $lines){
echo '<option value="'.$lines.'" '.($_POST['$lines'] ? $_POST['$lines'] :"").'>'.$lines.'</option>';
}?>
- 2 回答
- 0 关注
- 162 浏览
添加回答
举报