Получение значений массивом с checkbox'ов, с одинаковым именем
Здравствуйте, у меня есть в форме выбор категорий, к котором можно выбирать сразу несколько, мне надо получить массив всех категорий, и отобрать из них выбранные, как сделать?
заранее спасибо |
vvsh,
можно проверять по value элементов, пример: если элемент выбран - добавить value в массив или просто выбрать элемент и при клике показать его value. Да можно как угодно сделать. А вообще покажите Ваши наработки и я Вам сделаю. Как пример:
function res()
{
var p=1;
var All=document.forms['formSum'];
for(var i = 0; i < All.elements.length; ++i) {
if(All.elements[i].checked){
p=All.elements[i].value;
alert("Вы выбрали: "+p);
}
}
}
<form name="formSum"> <b>Купить где?:</b><br/> <input type="radio" name="q" value="супермаркет"/>супермаркет <br/> <input type="radio" name="q" value="рынок"/>рынок <br/> <b>Помидоры:</b><br/> <input type="checkbox" value="10 грн"/>10 грн. <br/> <input type="checkbox" value="11 грн" />11 грн. <br/> <input type="checkbox" value="12 грн"/>12 грн. <br/> <b>Огурцы:</b> <br/> <input type="checkbox" value="15 грн"/>15 грн. <br/> <input type="checkbox" value="18 грн"/>18 грн. <br/> <input type="button" value="Выбрать" onclick="res()"/> </form> |
у меня checkbox'ы с name, <input type="checkbox" name="filter1" value="52"><input type="checkbox" name="filter1" value="53"> и т.д.
то есть надо не все, а только с атрибутом name равным filter1 |
vvsh,
Вот:
function res()
{
var p=1;
var All=document.forms['formSum'];
for(var i = 0; i < All.elements.length; ++i) {
if(All.filter1[i].checked){
p=All.filter1[i].value;
alert("Вы выбрали: "+p);
}
}
}
<form name="formSum"> <b>Помидоры:</b><br/> <input type="checkbox" value="10 грн" name="filter1"/>10 грн. <br/> <input type="checkbox" value="11 грн" name="filter1" />11 грн. <br/> <input type="checkbox" value="12 грн" name="filter1"/>12 грн. <br/> <input type="checkbox" value="15 грн" name="filter1"/>15 грн. <br/> <input type="checkbox" value="18 грн" name="filter1"/>18 грн. <br/> <input type="button" value="Выбрать" onclick="res()"/> </form> |
Спасибо, подумал еще, и сделал так
у формы onsubmit="res(this)" и js
function res(form) {
var all = form.filter1;
for(i=0;i<all.length;i++) {
if(all[i].checked==true){
alert("Вы выбрали: "+all[i].value);
}
}
}
|
| Часовой пояс GMT +3, время: 20:48. |