通常,当您需要默认选择项目时,您可以:
<select>
<option value="1"> Volvo </option>
<option value="2" selected="true"> Saab </option>
<option value="3"> Mercedes </option>
<option value="4"> Audi </option>
</select>
有可能得到这样的东西吗?
<select selectedValue="2">
<option value="1"> Volvo </option>
<option value="2"> Saab </option>
<option value="3"> Mercedes </option>
<option value="4"> Audi </option>
</select>
在PHP中更容易实现,因为您只需要对一个值进行软编码,而不是在任何可能的<option/>
上处理所选属性。
答案 0 :(得分:7)
<select>
元素上没有类似的属性。假设您的<option>
输出处于循环中,我不知道它是如何产生巨大差异的:
$selected = "2";
foreach($values as $key => $val) {
echo "<option value=\"" . $key . "\"" . ($key == $selected ? " selected=\"selected\">" : ">") . $val . "</option>";
}
(我的PHP有点生疏,可能不是100%正确)
答案 1 :(得分:3)
在声明列表框之后放置JavaScript并在那里设置所选索引:
<script>
document.getElementById('listBoxId').selectedIndex=<?php echo $INDEX ?>;
</script>
像这样。
答案 2 :(得分:3)
不,但您可以将您的默认值添加到您的ID
<select id="default-value-2">
然后在您的选项中,您有
<option value="2" <?php echo is_this_the_default_value ? selected='true' : '' ?>
或其他相似的东西(原谅我忘记了我的php语法,但我希望你明白这一点。)
无论如何,这也是一个脏修复,所以我建议只添加一个方法来检查默认的选定标签,并在默认情况下将其选中=“已选”。如果循环选择选项
,则可以调用一次答案 3 :(得分:1)
你可以这样做:
$value = 1;
<select>
<?php if($value==1) echo "<option selected='true'> Volvo </option>";
else echo "<option> Volvo </option>"; ?>
<?php if($value==2) echo "<option selected='true'> Saab </option>";
else echo "<option> Saab </option>"; ?>
</select>
答案 4 :(得分:0)
我发现自己在谷歌上搜索,看看是否有更好的方法。
最好和最干净的答案来自@roryf,但是如果你没有循环浏览你的数据,我认为将它包装在一个函数中会更加清晰:
function set_selected($desired_value, $new_value)
{
if($desired_value==$new_value)
{
echo ' selected="selected"';
}
}
然后你会像这样使用它:
<?php $selected_value = 2; ?>
<select>
<option value="1"<?php set_selected('1', $selected_value); ?>> Volvo </option>
<option value="2"<?php set_selected('2', $selected_value); ?>> Saab </option>
<option value="3"<?php set_selected('3', $selected_value); ?>> Mercedes </option>
<option value="4"<?php set_selected('4', $selected_value); ?>> Audi </option>
</select>
这会将Saab设置为选中:)
答案 5 :(得分:0)
然后从数据库中预加载api-key: XXXXXXXX
,然后->(我必须转义“”)
PHP:
$statusid
HTML:
$option_0 = '';
$option_11 = '';
$option_12 = '';
$option_13 = '';
$option_14 = '';
$option_15 = '';
$option_16 = '';
if ($statusid ==0 ){
$option_0 = 'selected=\"\"';
}elseif($statusid ==11 ){
$option_11 = 'selected=\"\"';
}elseif($statusid ==12 ){
$option_12 = 'selected=\"\"';
}elseif($statusid ==13 ){
$option_13 = 'selected=\"\"';
}elseif($statusid ==14 ){
$option_14 = 'selected=\"\"';
}elseif($statusid ==15 ){
$option_15 = 'selected=\"\"';
}elseif($statusid ==16 ){
$option_16 = 'selected=\"\"';
}
对我来说很完美。