Как обратиться к вложенному input'у
Имеется такая html-разметка:
<div id="infaSpsVal" class="marLft borRadBot"> <div class="optWrap"> <input id="rad1" type="radio" name="radTri" value="-1"> <label for="rad1">Papier</label> <div class="radInd"></div> <div class="radFon"></div> </div> <div class="optWrap"> <input id="rad2" type="radio" name="radTri" value="0" checked> <label for="rad2">-?-</label> <div class="radInd"></div> <div class="radFon"></div> </div> <div class="optWrap"> <input id="rad3" type="radio" name="radTri" value="1"> <label for="rad3">System</label> <div class="radInd"></div> <div class="radFon"></div> </div> </div> И имеется переменная var per=0 Переменная может принимать значения 0, или 1, или 2. Мне необходимо, в зависимости от значения этой переменной, активировать (сделать checked) соответствующий input. Подскажите, как лучше обратиться к соответствующему input'у через их общего родителя #infaSpsVal. Я пробовал например так $('#infaSpsVal input').eq(1) - но почему-то не пошло... |
Neznajka,
что не так? <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(function() { var per=1; $('#infaSpsVal input').eq(per).prop('checked', true) }); </script> </head> <body> <div id="infaSpsVal" class="marLft borRadBot"> <div class="optWrap"> <input id="rad1" type="radio" name="radTri" value="-1"> <label for="rad1">Papier</label> <div class="radInd"></div> <div class="radFon"></div> </div> <div class="optWrap"> <input id="rad2" type="radio" name="radTri" value="0" > <label for="rad2">-?-</label> <div class="radInd"></div> <div class="radFon"></div> </div> <div class="optWrap"> <input id="rad3" type="radio" name="radTri" value="1"> <label for="rad3">System</label> <div class="radInd"></div> <div class="radFon"></div> </div> </div> </body> </html> |
Спасибо большое, рони
Я "cheked" указывал с ошибкой :( |
Neznajka,
так проще ... <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> document.addEventListener("DOMContentLoaded", function() { let radio = document.querySelectorAll('[name="radTri"]'); let per = 1; radio[per].checked = true; }) </script> </head> <body> <div id="infaSpsVal" class="marLft borRadBot"> <div class="optWrap"> <input id="rad1" type="radio" name="radTri" value="-1"> <label for="rad1">Papier</label> <div class="radInd"></div> <div class="radFon"></div> </div> <div class="optWrap"> <input id="rad2" type="radio" name="radTri" value="0"> <label for="rad2">-?-</label> <div class="radInd"></div> <div class="radFon"></div> </div> <div class="optWrap"> <input id="rad3" type="radio" name="radTri" value="1"> <label for="rad3">System</label> <div class="radInd"></div> <div class="radFon"></div> </div> </div> </body> </html> |
Да, спасибо - это действительно лучше. Только я его переделаю слегка на JQ. Не люблю сырой JS с его замыканиями и прочими непонятками :)
|
Часовой пояс GMT +3, время: 14:15. |