Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2009, 11:20
HDMan
 
Сообщений: n/a

Помогите разобраться с Insertion.After
есть такой код
function multyinputInit() {

   allNodes = document.getElementsByClassName("multyinput");
   for(i = 0; i < allNodes.length; i++) {
      var docvalue = allNodes[i];
      var param = docvalue.identify();
      var newInput = document.createElement('img')
      newInput.setAttribute('src','/images/menu/plus.gif');
      newInput.setAttribute('id','my_butt_'+param);
      newInput.onclick = function() {multyinput(param,hr);};
      new Insertion.After(docvalue,newInput);
  }
}
он должен найти на странице все жлементы с классом multyinput и добавить после них img при нажатии на которую происходит вызов функции.

в реале имеем:
что на странице за всеми элементами содержащим класс multyinput вставляется изображение, но они имеют id и onclick как у последнего элемента.

при пошаговом выполнении выяснил что id и onclick элементу присваиваются правильно, но переопределяются при следующем прохождении цикла.

что я делаю не так?
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2009, 15:09
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

function multyinputInit() {
 
   allNodes = document.getElementsByClassName("multyinput");
   for(i = 0; i < allNodes.length; i++) {
      var docvalue = allNodes[i];
      var param = docvalue.identify();
      var newInput = document.createElement('img')
      newInput.setAttribute('src','/images/menu/plus.gif');
      newInput.setAttribute('id','my_butt_'+param);
      newInput.onclick = (function(p, h) {
        return function(){
          multyinput(p, h);
        }
      }(param, hr));
      new Insertion.After(docvalue,newInput);
  }
}
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2009, 16:14
HDMan
 
Сообщений: n/a

СПАСИБО все заработало
СПАСИБО все заработало.
Сообщение от e1f Посмотреть сообщение
function multyinputInit() {
 
   allNodes = document.getElementsByClassName("multyinput");
   for(i = 0; i < allNodes.length; i++) {
      var docvalue = allNodes[i];
      var param = docvalue.identify();
      var newInput = document.createElement('img')
      newInput.setAttribute('src','/images/menu/plus.gif');
      newInput.setAttribute('id','my_butt_'+param);
      newInput.onclick = (function(p, h) {
        return function(){
          multyinput(p, h);
        }
      }(param, hr));
      new Insertion.After(docvalue,newInput);
  }
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с Dojo greendoc Dojo toolkit 4 13.10.2011 18:19
Помогите разобраться с кодом. TheWanderer Общие вопросы Javascript 10 17.04.2010 13:41
Помогите разобраться со скриптом! Чайник Элементы интерфейса 1 13.03.2009 23:57
Помогите разобраться с логикой поведения скрипта MarkupDeveloper jQuery 3 21.06.2008 18:04
Помогите разобраться с проблемой SergeiAzarov (X)HTML/CSS 0 28.03.2008 18:51