问题描述
||
我有一个表单,该表单具有与字段“ 0”关联的选择列表。
要填充列表框,用户单击表单上的一个按钮以显示一个弹出窗口,然后从该弹出窗口中选择玩家的名字,然后单击弹出窗口上的另一个按钮以关闭该弹出窗口并在列表框中显示选定的值。
默认情况下,我在select标记中放入“ 1”,以便当用户保存表单时,将保存列表框中的值。
<select size=5 id=\"sub_player_ids\" name=\"sub[player_ids][]\" multiple selected=\"true\">
上面的代码选择了选择框中的所有选项,这些选项以蓝色突出显示。
但是,用户可能会错误地在播放器的选择框中取消选择一个选项。
我希望默认情况下会选中选择框中的所有选项-无论它们是否突出显示
保存表单时,有没有一种方法可以默认选择选择框中的所有选项?
非常感谢您提供的任何建议。
干杯
解决方法
您知道选择中的值吗?您可以遍历选择并将每个选项
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 \”