Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.11.2022, 18:52
Интересующийся
Отправить личное сообщение для Neznajka Посмотреть профиль Найти все сообщения от Neznajka
 
Регистрация: 26.07.2022
Сообщений: 26

Как обратиться к вложенному 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) - но почему-то не пошло...
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2022, 19:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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>
Ответить с цитированием
  #3 (permalink)  
Старый 27.11.2022, 19:32
Интересующийся
Отправить личное сообщение для Neznajka Посмотреть профиль Найти все сообщения от Neznajka
 
Регистрация: 26.07.2022
Сообщений: 26

Спасибо большое, рони
Я "cheked" указывал с ошибкой
Ответить с цитированием
  #4 (permalink)  
Старый 27.11.2022, 19:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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>
Ответить с цитированием
  #5 (permalink)  
Старый 27.11.2022, 20:59
Интересующийся
Отправить личное сообщение для Neznajka Посмотреть профиль Найти все сообщения от Neznajka
 
Регистрация: 26.07.2022
Сообщений: 26

Да, спасибо - это действительно лучше. Только я его переделаю слегка на JQ. Не люблю сырой JS с его замыканиями и прочими непонятками
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Vue.js как обратиться к соседнему объекту. SANIOK_AV Библиотеки/Тулкиты/Фреймворки 0 21.12.2019 13:10
Как обратиться к блоку, который в поле видимости? drkrol Общие вопросы Javascript 3 18.10.2019 22:34
Как обратиться к предыдущему элементу массива goody-goody Общие вопросы Javascript 18 14.10.2015 11:57
Как обратиться к нужной ячейке используя THIS alexmixaylov jQuery 5 05.11.2014 12:20
Как обратиться к -webkit-column-width? ацкий Общие вопросы Javascript 3 29.08.2011 14:40