默认情况下,选择select列表框中的所有选项--javascript

select all options in select listbox by default -- javascript

本文关键字:选项 --javascript 情况下 选择 select 列表 默认      更新时间:2023-09-26

我有一个表单,它有一个与字段players关联的选择列表。

要填充列表框,用户单击表单上的一个按钮以显示弹出窗口,并从该弹出窗口中选择玩家的姓名,然后单击弹出窗口上的另一个按钮,该按钮将关闭弹出窗口并在列表框中显示所选值。

默认情况下,我将selected="true"放在select标记中,这样当用户保存表单时,就会保存列表框中的值。

<select size=5 id="sub_player_ids" name="sub[player_ids][]"  multiple selected="true">

上面的代码选择选择框中的所有选项,这些选项以蓝色突出显示。

然而,用户可能会错误地取消选择玩家选择框中的选项。

我希望默认情况下选择框中的所有选项-无论它们是否高亮显示

保存表单时,是否有方法默认选择选择框中的所有选项?

非常感谢您提供的任何建议。

干杯

您知道select中的值吗?您可以循环选择并将每个选项selected设置为true。

for (var i = 0, children = select.childNodes, l = children.length; i < l; i++) {
    if (children[i].tagName === "OPTION") children[i].selected = true;
}

Fiddle使用了这样一个事实,即Chrome/IE7+应该将window.select定义为ID select在DOM中找到的元素。如果你在Firefox中运行这个,你需要var select = document.getElementById('select');

http://jsfiddle.net/robert/VKF4E/

如果您使用的是jQuery,那么这只是一行代码。

$("#sub_player_ids option").attr("selected", "selected");

说明:JQuery Selector中的语法使用CSS样式来识别使用'#id'模式的"SELECT"(列表框),然后在其后面加上"option"来选择命名元素中的所有选项。"attr"函数将为返回的每个元素添加一个属性。在这种情况下,我们添加"selected"属性并将值设置为"selected"