我认为在下面的"value"
元素中添加<select>
属性集会导致默认情况下选择包含我提供的<option>
的{{1}}:
"value"
然而,这并没有像我预期的那样奏效。如何设置默认选择的<select name="hall" id="hall" value="3">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
元素?
答案 0 :(得分:1877)
为要作为默认选项的选项设置selected="selected"
。
<option selected="selected">
3
</option>
答案 1 :(得分:451)
如果您希望将默认文本作为一种占位符/提示但不被视为有效值(类似“完成此处”,“选择您的国家”ecc。),您可以执行以下操作:
<select>
<option value="" selected disabled hidden>Choose here</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
答案 2 :(得分:219)
完整示例:
<select name="hall" id="hall">
<option>
1
</option>
<option>
2
</option>
<option selected>
3
</option>
<option>
4
</option>
<option>
5
</option>
</select>
答案 3 :(得分:72)
我遇到了这个问题,但是接受并且高度赞成的答案对我来说并不适用。事实证明,如果您使用React,那么设置selected
并不起作用。
相反,您必须直接在<select>
标记中设置一个值,如下所示:
<select value="B">
<option value="A">Apple</option>
<option value="B">Banana</option>
<option value="C">Cranberry</option>
</select>
详细了解原因here on the React page。
答案 4 :(得分:66)
你可以这样做:
<select name="hall" id="hall">
<option> 1 </option>
<option> 2 </option>
<option selected> 3 </option>
<option> 4 </option>
<option> 5 </option>
</select>
在选项标记内提供“selected”关键字,默认情况下,您希望在下拉列表中显示该关键字。
或者您也可以为选项标签提供属性,即
<option selected="selected">3</option>
答案 5 :(得分:48)
如果你想使用Form中的值并保持动态,请尝试使用php
<form action="../<SamePage>/" method="post">
<?php
$selected = $_POST['select'];
?>
<select name="select" size="1">
<option <?php if($selected == '1'){echo("selected");}?>>1</option>
<option <?php if($selected == '2'){echo("selected");}?>>2</option>
</select>
</form>
答案 6 :(得分:36)
我更喜欢这个:
<select>
<option selected hidden>Choose here</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
选择选项后,'选择此处'消失。
答案 7 :(得分:28)
nobita答案的改进。您还可以通过隐藏“选择此处”元素来改进下拉列表的可视化视图。
<select>
<option selected disabled hidden>Choose here</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
答案 8 :(得分:17)
另一个例子;使用JavaScript设置选定的选项。
(您可以使用此示例将值数组循环到下拉组件中)
<select id="yourDropDownElementId"><select/>
// Get the select element
var select = document.getElementById("yourDropDownElementId");
// Create a new option element
var el = document.createElement("option");
// Add our value to the option
el.textContent = "Example Value";
el.value = "Example Value";
// Set the option to selected
el.selected = true;
// Add the new option element to the select element
select.appendChild(el);
答案 9 :(得分:13)
选中的属性是布尔属性。
如果存在,则指定在页面加载时应预先选择一个选项。
预先选择的选项将首先显示在下拉列表中。
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="vw">VW</option>
<option value="audi" selected>Audi</option>
</select>
答案 10 :(得分:7)
如果您有反应,可以在select标记中使用defaultValue
作为属性而不是value
。
答案 11 :(得分:5)
如果您使用带角度1的select,则需要使用ng-init,否则,将不会选择第二个选项,因为ng-model会覆盖默认选定值
<select ng-model="sortVar" ng-init='sortVar="stargazers_count"'>
<option value="name">Name</option>
<option selected="selected" value="stargazers_count">Stars</option>
<option value="language">Language</option>
</select>
答案 12 :(得分:4)
此代码使用PHP设置HTML select元素的默认值。
<select name="hall" id="hall">
<?php
$default = 3;
$nr = 1;
while($nr < 10){
if($nr == $default){
echo "<option selected=\"selected\">". $nr ."</option>";
}
else{
echo "<option>". $nr ."</option>";
}
$nr++;
}
?>
</select>
答案 13 :(得分:4)
我使用这个php函数生成选项,并将其插入我的HTML
<?php
# code to output a set of options for a numeric drop down list
# parameters: (start, end, step, format, default)
function numericoptions($start, $end, $step, $formatstring, $default)
{
$retstring = "";
for($i = $start; $i <= $end; $i = $i + $step)
{
$retstring = $retstring . '<OPTION ';
$retstring = $retstring . 'value="' . sprintf($formatstring,$i) . '"';
if($default == $i)
{
$retstring = $retstring . ' selected="selected"';
}
$retstring = $retstring . '>' . sprintf($formatstring,$i) . '</OPTION> ';
}
return $retstring;
}
?>
然后在我的网页代码中,我使用它如下;
<select id="endmin" name="endmin">
<?php echo numericoptions(0,55,5,'%02d',$endmin); ?>
</select>
如果每次加载页面时都从_POST变量创建$ endmin(并且此代码位于发布的表单中),则默认情况下会选择先前选择的值。
答案 14 :(得分:4)
标签的value属性缺失,因此它不会显示为所需的选择。默认情况下,第一个选项显示在下拉页面加载,如果在标签上设置了value属性....我以这种方式解决了我的问题
答案 15 :(得分:3)
您可以使用:
<option value="someValue" selected>Some Value</option>
代替,
<option value="someValue" selected = "selected">Some Value</option>
两者都同样正确。
答案 16 :(得分:3)
我只需将第一个选择选项的值设置为默认值,然后使用HTML5的新“隐藏”功能将该值隐藏在下拉菜单中即可。像这样:
<select name="" id="">
<option hidden value="default">Select An Option</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
</select>
答案 17 :(得分:3)
我认为最好的方法:
<select>
<option value="" selected="selected" hidden="hidden">Choose here</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
为什么不被禁用?
将禁用属性与<button type="reset">Reset</button>
一起使用时,值不会重置为原始占位符。而是浏览器首先选择未禁用的选项,这可能会导致用户错误。
默认空值
每个生产表格都有验证,那么空值应该不是问题。这样,我们可能会有不需要的空选择。
XHTML语法属性
selected="selected"
语法是与XHTML和HTML 5兼容的唯一方法。这是正确的XML语法,一些编辑者对此可能感到满意。它向后兼容。我对此没有强烈的感觉,但是如果您的要求超过上述参数,则应遵循完整的语法。
答案 18 :(得分:2)
我自己用它
<select selected=''>
<option value=''></option>
<option value='1'>ccc</option>
<option value='2'>xxx</option>
<option value='3'>zzz</option>
<option value='4'>aaa</option>
<option value='5'>qqq</option>
<option value='6'>wwww</option>
</select>
答案 19 :(得分:2)
设置selected =“ selected”,其中选项值为3
请参见下面的示例
<option selected="selected" value="3" >3</option>
答案 20 :(得分:1)
我使用Angular,我将默认选项设置为
HTML模板
<select #selectConnection [(ngModel)]="selectedVal" class="form-control col-sm-6 " max-width="100px" title="Select"
data-size="10">
<option >test1</option>
<option >test2</option>
</select>
脚本:
sselectedVal:any="test1";
答案 21 :(得分:1)
您需要在每个选项中都有一个“id”属性才能使此解决方案起作用:
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
display: flex;
justify-content: center;
}
#root {
height: 100vh;
}
.gameBoard {
border: 1px solid #e0e0e0;
box-shadow: 2px 3px 5px #e0e0e0;
margin-top: 20px;
display: flex;
flex-wrap: wrap;
}
.cell {
background: rgba(0, 0, 0, 0.5);
}
函数首先尝试找到带有id的select>,然后在select>中搜索value_selected选项,如果找到它,它将设置 selected 属性返回 true。否则为假
答案 22 :(得分:1)
默认选择的值为 Option-4
<html:select property="status" value="OPTION_4" styleClass="form-control">
<html:option value="">Select</html:option>
<html:option value="OPTION_1" >Option-1</html:option>
<html:option value="OPTION_2" >Option-2</html:option>
<html:option value="OPTION_3" >Option-3</html:option>
<html:option value="OPTION_4" >Option-4</html:option>
<html:option value="OPTION_5" >Option-5</html:option>
</html:select>
答案 23 :(得分:1)
<select>
的问题在于,有时它会与当前呈现的状态断开连接,除非选项列表中发生了更改,否则不会返回更改值。尝试从列表中选择第一个选项时可能会出现问题。以下代码可以使首次选择的第一选项有效,但是onchange="changeFontSize(this)"
本身不会。上面介绍了一些方法,这些方法使用虚拟选项来强制用户进行更改以获取实际的第一个值,例如以空值开始列表。注意:onclick会调用该函数两次,以下代码不会,但是可以解决第一次出现的问题。
<label>Font Size</label>
<select name="fontSize" id="fontSize" onfocus="changeFontSize(this)" onchange="changeFontSize(this)">
<option value="small">Small</option>
<option value="medium">Medium</option>
<option value="large">Large</option>
<option value="extraLarge">Extra large</option>
</select>
<script>
function changeFontSize(x){
body=document.getElementById('body');
if (x.value=="extraLarge") {
body.style.fontSize="25px";
} else {
body.style.fontSize=x.value;
}
}
</script>
答案 24 :(得分:0)
HTML片段:
<select data-selected="public" class="form-control" name="role">
<option value="public">
Pubblica
</option>
<option value="user">
Utenti
</option>
<option value="admin">
Admin
</option>
</select>
原生JavaScript代码段:
document.querySelectorAll('[data-selected]').forEach(e => {
e.value = e.dataset.selected
});
答案 25 :(得分:0)
您可以尝试这样
<select name="hall" id="hall">
<option>1</option>
<option>2</option>
<option selected="selected">3</option>
<option>4</option>
<option>5</option>
</select>
答案 26 :(得分:0)
Upstream System:
<select name=upstream id=upstream>
<option value="SYBASE">SYBASE ASE
<option value="SYBASE_IQ">SYBASE_IQ
<option value="SQLSERVER">SQLSERVER
</select>
<script>
var obj=document.getElementById("upstream");
for (var i=0;i<obj.length;i++){if(obj.options[i].value==="SYBASE_IQ")obj.selectedIndex=i;}
</script>
答案 27 :(得分:0)
要使用PHP和JavaScript设置默认值,请执行以下操作:
State: <select id="State">
<option value="" selected disabled hidden></option>
<option value="Andhra Pradesh">Andhra Pradesh</option>
<option value="Andaman and Nicobar Islands">Andaman and Nicobar Islands</option>
.
.
<option value="West Bengal">West Bengal</option>
</select>
<?php
if(isset($_GET['State'])){
echo <<<heredoc
<script>
document.getElementById("State").querySelector('option[value="{$_GET['State']}"]').selected = true;
</script>
heredoc;
}
?>
答案 28 :(得分:0)
我就这样做了......
<form action="../<SamePage>/" method="post">
<?php
if ( $_POST['drop_down'] == "")
{
$selected = "";
}
else
{
$selected = "selected";
}
?>
<select name="select" size="1">
<option value="1" <?php $selected ?>>One</option>
//////// OR ////////
<option value="2" $selected>Two</option>
</select>
</form>
答案 29 :(得分:0)
这是选择默认选项的简单方法。
可用于在 HTML 页面上多次选择。
方法:
注意:
$(document).ready(function() {
// Loop for every select in page
$('select').each(function(index, id) {
// Get the value
var theValue = $(this).attr('value');
// Get the ID
var theID = $(this).attr('id');
// Make option selected
$('select#' + theID + ' option[value=' + theValue + ']').attr('selected', true);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select id="sport" name="sport" class="autoselect" value="golf">
<option value="basket">Basket Ball</option>
<option value="tennis">Tennis</option>
<option value="golf">Golf</option>
<option value="bowling">Bowling</option>
</select>
<hr>
<select id="tools" name="tools" class="autoselect" value="saw">
<option value="hammer">Hammer</option>
<option value="drill">Drill</option>
<option value="screwdriver">Screwdriver</option>
<option value="saw">Saw</option>
<option value="wrench">Wrench</option>
</select>
答案 30 :(得分:0)
我遇到了一些麻烦,因为我需要某种方式根据数据库中的值动态选择选项。下面的脚本对我来说就像一个魅力:
<?php
//pick the value of database
$selected_sexo = $query['s_sexo'];
?>
<select name="s_sexo" id="s_sexo" required>
<option <?php if($selected_sexo == 'M'){echo("selected");}?> value="M">M</option>
<option <?php if($selected_sexo == 'F'){echo("selected");}?> value="F">F</option>
</select>