Если вы используете Prototype JS, вам может пригодиться этот пост в блоге. Это дает довольно краткий способ выполнить выбор всех.
http://www.ryboe.com/2008/07/10/select-all-checkboxes-with-prototype-js.html
По вашему мнению, вы можете использовать следующий фрагмент для создания ссылки "Выбрать все":
<%= link_to_function("Select All","checkboxes.each(function(e){ e.checked = 1 })") %>
Кроме того, вам понадобится следующий код Javascript где-то на той же странице (или, может быть, даже абстрагированный до public/javascripts/application.js
файла
var checkboxes = [];
checkboxes = $$('input').each(function(e){ if(e.type == 'checkbox') checkboxes.push(e) });
var form = $('options'); /* Replace 'options' with the ID of the FORM element */
checkboxes = form.getInputs('checkbox');
Вот полный источник рабочего примера, если это не сработает, возможно, вам придется проверить, чтобы убедиться, что ваши библиотеки JS загружаются правильно.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://www.google.com/jsapi" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
var checkboxes;
google.load("prototype", "1.6");
google.setOnLoadCallback(function(){
checkboxes = [];
checkboxes = $$('input').each(function(e){ if(e.type == 'checkbox') checkboxes.push(e) });
var form = $('options'); /* Replace 'options' with the ID of the FORM element */
checkboxes = form.getInputs('checkbox');
});
</script>
</head>
<body>
<form id="options">
<fieldset><input type="text" value="test"></fieldset>
<fieldset><input type="checkbox" value=0> 0</fieldset>
<fieldset><input type="checkbox" value=1> 1</fieldset>
<fieldset><input type="checkbox" value=2> 2</fieldset>
<fieldset><input type="checkbox" value=3> 3</fieldset>
</form>
<a href="#" onclick="checkboxes.each(function(e){e.checked = 1})">Select All</a>
</body>
</html>