Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вставка текста в зависимости от выбранной радиокнопки (https://javascript.ru/forum/dom-window/68417-vstavka-teksta-v-zavisimosti-ot-vybrannojj-radioknopki.html)

Янковиц 14.04.2017 18:15

Вставка текста в зависимости от выбранной радиокнопки
 
Добрый день. Что делаю не так? Пытаюсь при клике по полю div вычислить координаты и вставить в тот input, который связан с радиокнопкой.
function getCurCoordsInsideRect(e) {
    var x = e.offsetX == undefined ? e.layerX : e.offsetX;
    var y = e.offsetY == undefined ? e.layerY : e.offsetY;
	
	jQuery("input[name=radio]:radio").change(function() {
		var checkid = (jQuery(this).attr('id'));
		var inputid = checkid.replace("radio-", "#input-");

		if (jQuery("radio-1").prop('checked')) {	
			jQuery("input-1").val(inputid);
			alert(x +'x'+ y);
		}
	})
	
}
function getElement(e, element) {
    getCurCoordsInsideRect(e, element);
}


<div id="div-1">
     <input type="radio" name="radio" id="radio-1" value="">
     <input type="text" name="input-1" id="input-1" value="1">
</div>
<div id="div-2">
     <input type="radio" name="radio" id="radio-2" value="">
     <input type="text" name="input-2" id="input-2" value="2">
</div>

рони 14.04.2017 18:27

Цитата:

Сообщение от Янковиц
Пытаюсь при клике по полю div вычислить координаты и вставить в тот input, который связан с радиокнопкой.

не осилил

Янковиц 14.04.2017 18:33

Это так, поэтому и обращаюсь к форумчанам.

рони 14.04.2017 18:39

Янковиц,
не понимаю вашего описания

Янковиц 14.04.2017 18:43

Я получаю координаты при клике по некоему div:
function getCurCoordsInsideRect(e) {
    var x = e.offsetX == undefined ? e.layerX : e.offsetX;
    var y = e.offsetY == undefined ? e.layerY : e.offsetY;

alert(x +'x'+ y);	
}
function getElement(e, element) {
    getCurCoordsInsideRect(e, element);
}

Алерт выводит, все верно.
Но теперь мне нужно прикрутить зависимость.
Если активирована радио кнопка с id="radio-1", то вставляем координаты в поле input с id="input-1". И так далее...

рони 14.04.2017 18:44

Янковиц,
а если не одна не активирована?

Янковиц 14.04.2017 18:49

если не активированно, то и никуда не выводятся координаты

рони 14.04.2017 18:56

Янковиц,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
 <style type="text/css">
    .hot{
         border: 1px dashed Gray; padding: 5px; height: 100px; width: 100px
    }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    $(".hot").on("click", function(event) {
    var parent = $('[name="radio"]:checked').parents("div");
    $('[name^="input"]', parent).val(event.pageX + " : "+event.pageY)
})
});
  </script>
</head>

<body>

 <div class="hot">click me</div>
<div id="div-1">
  <input type="radio" name="radio" id="radio-1" value="" >
  <input type="text" name="input-1" id="input-1" value="1">
</div>
<div id="div-2">
  <input type="radio" name="radio" id="radio-2" value="">
  <input type="text" name="input-2" id="input-2" value="2">
</div>

</body>
</html>

Янковиц 14.04.2017 19:08

Спасибо большое. Можно последний вопрос...
Почему у меня браузер ругается на приведенный код:
Uncaught TypeError: $ is not a function

рони 14.04.2017 19:20

Янковиц,
скорее всего у вас уже нет $ и вам нужно все $ заменить на jQuery.


Часовой пояс GMT +3, время: 20:14.