Как обратиться к вложенному 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, время: 13:08. |