2017-08-29 86 views
0

我有一个多选选项菜单(我可以使用命令/ shift/etc从列表中选择多个元素)。我希望所有选项都被选为默认值(当页面加载时)。我知道,我可以使用选择页面加载选项

$(document).ready() 

等到页面加载执行某项操作,但我不知道如何真正改变列表的选中状态。请注意,有而不是复选框。

的选项的HTML看起来像这样:

<select name="name" id="id1"> 
    <option value='value1'> 
    <option value='value2'> 
    <option value='value3'> 
    <option value='value4'> 
</select> 

注:我想变化是在JavaScript而非HTML,因为我使用的是默认的“多项选择菜单中的”模板是在表单字段中保持一致,并且我只想要一个特定字段默认情况下选中所有内容。我怎样才能做到这一点?

+1

,你应该提供更多的代码,以便我们可以帮助你。 –

+0

我添加了HTML以澄清如何创建多个选项列表。 – user7518095

+1

你有没有做过任何搜索或做了一个尝试?尝试查看jQuery文档或查看https://stackoverflow.com/q/13332484/691711是否有帮助。 – zero298

回答

2

默认情况下,<select>元素仅配置为一次显示一个选项。因此,为了同时选择多个元素,您需要将<select>元素的multiple属性设置为true。你可以用JavaScript这样做:

document.getElementById('id1').multiple = true; 

一旦你这样做,你可以以编程方式“选择”每个选项。这是一个工作示例:

var el = document.getElementById('id1'); 
 

 
el.multiple = true; 
 

 
for (var i = 0; i < el.childNodes.length; i++) { 
 
    el.childNodes[i].selected = true; 
 
}
<select name="name" id="id1"> 
 
    <option value='value1'>1</option> 
 
    <option value='value2'>2</option> 
 
    <option value='value3'>3</option> 
 
    <option value='value4'>4</option> 
 
</select>