Я ломал голову, чтобы найти лучшее решение для следующей ситуации.
Представьте себе страницу с МНОЖЕСТВОМ радиокнопок, а затем с некоторой пользовательской проверкой, выделяющей группы радиокнопок, на которые не было ответа.
пример HTML (с некоторыми предварительно выбранными ответами):
<input type='radio' name='a' value='1' />
<input type='radio' name='a' value='2' />
<input type='radio' name='a' value='3' />
<input type='radio' name='b' value='1' checked="checked"//>
<input type='radio' name='b' value='2' />
<input type='radio' name='b' value='3' />
<input type='radio' name='c' value='1' />
<input type='radio' name='c' value='2' checked="checked"/>
<input type='radio' name='c' value='3' />
<input type='radio' name='d' value='1' />
<input type='radio' name='d' value='2' />
<input type='radio' name='d' value='3' />
Я уже написал немного jQuery, который делает то, что я хочу, но я просто знаю, что это можно сделать лучше / быстрее / красивее / эффективнее.
//select all radiobuttons
var $radios = $("input[type='radio']")
//loop through all the radios that are checked
$($radios+":checked").each(function(){
//filter out all radios with the current name, and add something to recognize them with
$($radios).filter("[name='" + $(this).attr("name") + "']").addClass("checked")
});
//find all radios without the class checked, and highlight them
var $unchecked_radios = $($radios + ":not(.checked)").addClass("highlight");
Но я застрял в том, как объединить эти два, так что вычитая те, которые имеют ответ от всей совокупности радиостанций.
(хотя я подозреваю, что может быть лучший способ выбрать группы радиокнопок с одинаковым именем)
Любая помощь будет принята с благодарностью!
С уважением,
Casper