在 PHP 内设置下拉列表值 Echo
Set dropdown list value inside PHP Echo
我在 dropdown list
的 select 值上遇到问题。
我试过的:
因为目前我在纯 html
和一些 php
中设置值没有问题
以便设置值。如本例所示:
<?php $temp_val = 3; ?>
<td>
<select>
<option value="1" <?php if($temp_val == "1") echo("selected='selected'")?>>1</option>
<option value="2" <?php if($temp_val == "2") echo("selected='selected'")?>>2</option>
<option value="3" <?php if($temp_val == "3") echo("selected='selected'")?>>3</option>
<option value="4" <?php if($temp_val == "4") echo("selected='selected'")?>>4</option>
<option value="5" <?php if($temp_val == "5") echo("selected='selected'")?>>5</option>
</select>
</td>
在这种情况下,它应该 select 数字 3,结果确实是这样的:
如此处所示,纯 html
和一些 php
.
一切正常
问题
目前我想在 php echo()
中使用相同的逻辑,这意味着我需要将 php 代码放入带有 echo
的 php 代码中。正如我所研究的那样,不可能像 here 所说的那样。
正如我在 php echo code
中尝试实现的,结果如下:
<?php
$temp_val = 3;
echo "<td>
<select>
<option value='1' <?php if($temp_val == '1') echo('selected='selected'')?>1</option>
<option value='2' <?php if($temp_val == '2') echo('selected='selected'')?>2</option>
<option value='3' <?php if($temp_val == '3') echo('selected='selected'')?>3</option>
<option value='4' <?php if($temp_val == '4') echo('selected='selected'')?>4</option>
<option value='5' <?php if($temp_val == '5') echo('selected='selected'')?>5</option>
</select>
</td>";
?>
合并时,我做了一些细微的更改,从 "
更改为 '
,因为它可能会干扰回声。在这一点上,一定是出了什么问题。这是结果:
至于为什么它显示其中的 3 个,因为我需要用 echo 和 php 循环,这就是我无法使用纯 html 来完成任务的原因。有没有人有类似的问题?
感谢抽出宝贵时间,祝你有愉快的一天。
让我们试试这个
<?php $temp_val = 3; ?>
<td>
<select>
<?php
For($i=0;$i<=5;$i++){
?>
<option value="<?= $i; ?>" <?php if($temp_val == $i) echo("selected")?>>
<?= $i ?>
</option>
<?php } ?>
</select>
</td>
编码愉快:)
为了便于理解,我必须告诉您两件事:
首先,不需要在echo里面使用echo,只用一次即可。
其次,不能在单引号内使用单引号,也不能在双引号内使用双引号。但是,如果你想这样做,你必须添加反斜杠。像这样echo "<option value=\"$value\">$text</option>";
对于你上面的问题,我推荐使用function。您可以创建一个函数来选择选项值。
function set_selected($val1, $val2) {
if ($val1 == $val2) {
echo 'selected="selected"';
}
}
然后,在您的代码中:
<?php
$temp_val = 3;
echo "<td>
<select>
<option value='1' set_selected($temp_val, '1') >1</option>
...
</select>
</td>";
?>
希望对您有所帮助。
由于单引号,您的代码没有回显第二个选择,只需执行以下操作:
<?php if($temp_val == '1') echo('selected')?>
所有选项需要 'selected'。
我真的很喜欢从 HTML 中取出逻辑,但是在这种情况下,它会导致定义多个变量。我想这取决于你个人的喜好。
希望对您有所帮助!
我在 dropdown list
的 select 值上遇到问题。
我试过的:
因为目前我在纯 html
和一些 php
中设置值没有问题
以便设置值。如本例所示:
<?php $temp_val = 3; ?>
<td>
<select>
<option value="1" <?php if($temp_val == "1") echo("selected='selected'")?>>1</option>
<option value="2" <?php if($temp_val == "2") echo("selected='selected'")?>>2</option>
<option value="3" <?php if($temp_val == "3") echo("selected='selected'")?>>3</option>
<option value="4" <?php if($temp_val == "4") echo("selected='selected'")?>>4</option>
<option value="5" <?php if($temp_val == "5") echo("selected='selected'")?>>5</option>
</select>
</td>
在这种情况下,它应该 select 数字 3,结果确实是这样的:
如此处所示,纯 html
和一些 php
.
问题
目前我想在 php echo()
中使用相同的逻辑,这意味着我需要将 php 代码放入带有 echo
的 php 代码中。正如我所研究的那样,不可能像 here 所说的那样。
正如我在 php echo code
中尝试实现的,结果如下:
<?php
$temp_val = 3;
echo "<td>
<select>
<option value='1' <?php if($temp_val == '1') echo('selected='selected'')?>1</option>
<option value='2' <?php if($temp_val == '2') echo('selected='selected'')?>2</option>
<option value='3' <?php if($temp_val == '3') echo('selected='selected'')?>3</option>
<option value='4' <?php if($temp_val == '4') echo('selected='selected'')?>4</option>
<option value='5' <?php if($temp_val == '5') echo('selected='selected'')?>5</option>
</select>
</td>";
?>
合并时,我做了一些细微的更改,从 "
更改为 '
,因为它可能会干扰回声。在这一点上,一定是出了什么问题。这是结果:
至于为什么它显示其中的 3 个,因为我需要用 echo 和 php 循环,这就是我无法使用纯 html 来完成任务的原因。有没有人有类似的问题?
感谢抽出宝贵时间,祝你有愉快的一天。
让我们试试这个
<?php $temp_val = 3; ?>
<td>
<select>
<?php
For($i=0;$i<=5;$i++){
?>
<option value="<?= $i; ?>" <?php if($temp_val == $i) echo("selected")?>>
<?= $i ?>
</option>
<?php } ?>
</select>
</td>
编码愉快:)
为了便于理解,我必须告诉您两件事:
首先,不需要在echo里面使用echo,只用一次即可。
其次,不能在单引号内使用单引号,也不能在双引号内使用双引号。但是,如果你想这样做,你必须添加反斜杠。像这样echo "<option value=\"$value\">$text</option>";
对于你上面的问题,我推荐使用function。您可以创建一个函数来选择选项值。
function set_selected($val1, $val2) {
if ($val1 == $val2) {
echo 'selected="selected"';
}
}
然后,在您的代码中:
<?php
$temp_val = 3;
echo "<td>
<select>
<option value='1' set_selected($temp_val, '1') >1</option>
...
</select>
</td>";
?>
希望对您有所帮助。
由于单引号,您的代码没有回显第二个选择,只需执行以下操作:
<?php if($temp_val == '1') echo('selected')?>
所有选项需要 'selected'。 我真的很喜欢从 HTML 中取出逻辑,但是在这种情况下,它会导致定义多个变量。我想这取决于你个人的喜好。
希望对您有所帮助!