нет, я хочу это переделать
|
я быстро нарисую на php таблички для выбора, сделаю их скрытыми, мне нужно сделать выбор и передачу значения в поле
|
mbp64,
https://jqueryui.com/dialog/ - модальные окна https://api.jquery.com/click/ - обработчик клика http://api.jquery.com/attr/ - прием-передача атрибутов типа id, class и любых других |
причем, чем проще, тем лучше
|
Не получается обработать клик :(
|
<input name="otkogo" type="text" /> <input name="komu" type="text" /> <div class="table" style="display:none"> <div class="user"> <span class="id">1</span> <span class="name">меня</span> </div> <div class="user"> <span class="id">2</span> <span class="name">забанили</span> </div> <div class="user"> <span class="id">3</span> <span class="name">в</span> </div> <div class="user"> <span class="id">4</span> <span class="name">гугле</span> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $('input').focusin(function(){ var name = $(this).attr('name'); $('.table').attr('kuda',name).fadeIn(); }); $('.table').on('click','.user',function(){ var kuda = $('.table').attr('kuda'); var value = $(this).find('.id').html()+' - '+$(this).find('.name').html(); $('*[name="'+kuda+'"]').val(value); $('.table').fadeOut(); }); </script> |
Спасибо. Я попробую в этом разобраться
|
mbp64, все выглядит примерно так:
<script> $('input').focusin(function(){// - при получении полем фокуса сработают две следующие строки var name = $(this).attr('name');// - присваиваем переменной name атрибут name поля, которое в фокусе $('.table').attr('kuda',name).fadeIn();// - передаем в атрибут "kuda" дива, в котором пользователи атрибут name поля, которое в фокусе и показываем таблицу }); $('.table').on('click','.user',function(){// - при клике по строке с пользователем сработают следующие четыре строки var kuda = $('.table').attr('kuda');// - присваиваем переменной kuda значение атрибута kuda блока с пользователями, в котором находится имя поля var value = $(this).find('.id').html()+' - '+$(this).find('.name').html();// - создаем текст, который нужно запихать в текстовое поле и укладываем его в переменную value $('*[name="'+kuda+'"]').val(value);// - кладем в текстовое поле значение из предыдущей строки $('.table').fadeOut();// - прячем таблицу }); </script> |
:write:
<meta charset="utf-8"> <input name="otkogo" type="text" /> <input name="komu" type="text" /> <div class="table" style="display:none"> <div class="user"> <span class="id">1</span> <span class="name">меня</span> </div> <div class="user"> <span class="id">2</span> <span class="name">забанили</span> </div> <div class="user"> <span class="id">3</span> <span class="name">в</span> </div> <div class="user"> <span class="id">4</span> <span class="name">гугле</span> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> var obj = {}; $('input').focusin(function(){ obj.el = this; $('.table').fadeIn(); }); $('.table').on('click','.user', obj,function(e){ var value = $(this).find('.id').html()+' - '+$(this).find('.name').html(); $(e.data.el).val(value); $('.table').fadeOut(); }); </script> |
mbp64,
В хроме: 1. Правой кнопки мыши по элементу на котором установлен обработчик события 2. Инспектировать элемент 3. Справа в панеле. Таб - Event Listeners, пункт - click |
Часовой пояс GMT +3, время: 13:33. |