запись в input значения сгенерированного div
HELP!
есть гавнокод: который генерирует блок опций: $("input[name='opt']").click(function(){ var inp = $(this); var elems = $(this).attr('id'); var opti = $('div.wrapp_option'); $(opti).fadeOut(200); setTimeout(function(){ opti = $('<div/>',{class:'wrapp_option',id:elems}).appendTo('td.slot#'+elems).fadeIn(300); $('<div/>',{class:'mah',id:'confirm',text:'Подтвердить'}).css({'display':'block'}).appendTo(opti); $('<div/>',{class:'mah',id:'deconfirm',text:'Отменить'}).appendTo(opti); $('<div/>',{class:'mah',id:'upd',text:'Обновить'}).appendTo(opti); $('<div/>',{class:'mah',id:'del',text:'Удалить'}).appendTo(opti); $('<div/>',{class:'mah',id:'by',text:'Передать'}).appendTo(opti); },200); }); есть второй такойже г.код с которого нужно втыкать значения: так не втыкаются, $('.slot').on('click','.mah',function(){ var blok = $(this); var vals = $(this).attr('id'); var idn = $('div.wrapp_option').attr('id'); var inp = $('input#'+idn); $(inp).val(vals); $('div.wrapp_option').fadeOut(200).remove(); }); так тоже, $(inp).load(blok).val($(this).html()); нужно в value input записывать при клике id блка по которому кликнули. jQuery изучаю недавно :( |
Vincent Vega,
Вы используете один и тот же id для разных элементов DOM, из-за этого все косо работает |
Цитата:
|
Vincent Vega,
Атрибут id Задаёт стилевой идентификатор — уникальное имя элемента, которое используется для изменения его стиля и обращения к нему через скрипты. Идентификатор в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз. https://webref.ru/html/attr/id |
спасибо! буду думать...
|
Цитата:
var elems; $("input[name='options']").click(function(){ elems = $(this).attr('id'); var opti = $('div.wrapp_option'); $(opti).fadeOut(200); setTimeout(function(){ opti = $('<div/>',{class:'wrapp_option',id:'wr_'+elems}).appendTo('td.slot#sl_'+elems).fadeIn(300); $('<div/>',{class:'mah',id:'confirm',text:'Подтвердить'}).appendTo(opti); $('<div/>',{class:'mah',id:'deconfirm',text:'Отменить'}).appendTo(opti); $('<div/>',{class:'mah',id:'upd',text:'Обновить'}).appendTo(opti); $('<div/>',{class:'mah',id:'del',text:'Удалить'}).appendTo(opti); $('<div/>',{class:'mah',id:'by',text:'Передать'}).appendTo(opti); },200); }); $('.slot').on('click','.mah',function(){ var vals = $(this).attr('id'); var inp = $('input.options#'+elems); $(inp).val(vals); $('div.wrapp_option').fadeOut(200).remove(); elems = 0; }); вот так все заработало, даже то что не работало :) респект за материал по id |
Часовой пояс GMT +3, время: 13:43. |