Показать сообщение отдельно
  #5 (permalink)  
Старый 19.03.2019, 00:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

awinart,
...
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    .NO{
     background-color: #FF0000;
     color: #FFFFFF;}
    </style>

    <script>
var attr_no = {
    set0: ["80", "82", "85"],
    set1: ["80", "80", "80"],
    set2: ["78", "82", "87"],
    set3: ["79", "82", "87"]
};

var a = [
    ["80", "81", "71"],
    ["80", "82", "71"],
    ["80", "85", "71"]
];

function fn() {
    return Object.keys(attr_no).filter(function(set) {
        return attr_no[set].every(function(v, i) {
            var el = document.querySelector("[name=num" + i + "]:checked");
            var ar = el ? [el.value] : a[i]
            return ar.includes(v)
        })
    })
}
document.addEventListener("click", event => {
    var a = fn();
    [...document.querySelectorAll("label")].forEach(el => el.classList.remove("NO"));
    if (a.length) attr_no[a[0]].forEach((v, i) => document.querySelector("[name=num" + i + "][value='" + v + "']").parentNode.classList.add("NO"));
});
</script>
</head>

<body>
<label for=""><input type="radio" value="80" name="num0">80</label>
<label for=""><input type="radio" value="81" name="num0">81</label>
<label for=""><input type="radio" value="71" name="num0">71</label>
<br>
<label for=""><input type="radio" value="80" name="num1">80</label>
<label for=""><input type="radio" value="82" name="num1">82</label>
<label for=""><input type="radio" value="71" name="num1">71</label>
<br>
<label for=""><input type="radio" value="80" name="num2">80</label>
<label for=""><input type="radio" value="85" name="num2">85</label>
<label for=""><input type="radio" value="71" name="num2">71</label>
<br>


</body>
</html>
Ответить с цитированием