Получение значений массивом с 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, время: 04:54. |