我的表单中有一个与字段players
关联的选择列表。
要填充列表框,用户单击表单上的按钮以显示弹出窗口,然后从该弹出窗口中选择玩家的名称,然后单击弹出窗口上的另一个按钮以关闭弹出窗口并在列表框中显示所选值。 / p>
默认情况下,我将selected="true"
放在select标记中,这样当用户保存表单时,会保存列表框中的值。
<select size=5 id="sub_player_ids" name="sub[player_ids][]" multiple selected="true">
上面的代码选择了选择框中的所有选项,这些选项以蓝色突出显示。
但是,用户可能会错误地取消选择播放器选择框中的选项。
我希望默认选择选择框中的所有选项 - 是否突出显示
保存表单时,默认情况下是否可以在选择框中选择所有选项?
非常感谢您提出的任何建议。
干杯
答案 0 :(得分:1)
你知道选择中的值吗?您可以循环选择并将每个选项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选择在DOM中找到的元素。如果您在Firefox中运行此操作,则需要var select = document.getElementById('select');
答案 1 :(得分:1)
如果您使用的是jQuery,那就是一个单行程序。
$("#sub_player_ids option").attr("selected", "selected");
说明:JQuery Selector中的语法使用CSS样式使用“#id”模式标识“SELECT”(列表框),然后使用“option”选择命名元素中的所有选项。 “attr”函数将为返回的每个元素添加一个属性。在这种情况下,我们添加“selected”属性并将值设置为“selected”