Вставка текста в зависимости от выбранной радиокнопки
Добрый день. Что делаю не так? Пытаюсь при клике по полю 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> |
Цитата:
|
Это так, поэтому и обращаюсь к форумчанам.
|
Янковиц,
не понимаю вашего описания |
Я получаю координаты при клике по некоему 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". И так далее... |
Янковиц,
а если не одна не активирована? |
если не активированно, то и никуда не выводятся координаты
|
Янковиц,
<!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> |
Спасибо большое. Можно последний вопрос...
Почему у меня браузер ругается на приведенный код: Uncaught TypeError: $ is not a function |
Янковиц,
скорее всего у вас уже нет $ и вам нужно все $ заменить на jQuery. |
Часовой пояс GMT +3, время: 20:14. |