Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переменная в названии функции (https://javascript.ru/forum/misc/39317-peremennaya-v-nazvanii-funkcii.html)

noak96 25.06.2013 14:06

Переменная в названии функции
 
Добрый день!

Возник такой интересный вопрос. В скрипте у меня есть переменная
Код:

data.todo[i].id
Как мне ее вставить в название функции?

function delete[B]**сюда**[/B]() {
              ......
}


Заранее благодарю за ответ! :)

skrudjmakdak 25.06.2013 14:17

а для чего все это?? функцию обозвать можно как угодно, а потом по имени ее вызывать..

может вам передать параметр в нее надо?

noak96 25.06.2013 14:20

Да. У меня дело обстоит таким образом... У меня выводятся материалы, и мне нужно сделать так, чтобы при нажатии на кнопку Delete (у которой id = id материала), запускалась функция по удалению данного материала.

В общем, в соседней функции переменная id, ее нужно передать в другую функцию.

skrudjmakdak 25.06.2013 14:24

ну так delete зарезервированное слово, так же как и if, for, while... и т.д.
обзовите ее как нидь по другому. например, deleteMaterial

function deleteMaterial(id_material)
{
//...code
}

//вызов функции
deleteMaterial(data.todo[i].id);

noak96 25.06.2013 16:46

получается так:
some = "<div><a href='#' onclick='deleteMaterial("+ data.todo[i].id +")'>Delete</a></div>";
            
			function deleteMaterial(id_material)
            {
			  var id_material = data.todo[i].id;
                          alert(id_material); // проверка
            }

Немного не понимаю я... По идее, id ведь должен переноситься в функцию deleteMaterial!

skrudjmakdak 25.06.2013 16:54

при клике уже id шник передается:

some = "<div><a href='#' onclick='deleteMaterial("+ data.todo[i].id +")'>Delete</a></div>";
            
			function deleteMaterial(id_material)
            {
			  //var id_material = data.todo[i].id; - эта строчка не нужна!
                          alert(id_material); // проверка
            }

skrudjmakdak 25.06.2013 16:56

и скорей не просто some. а some.innerHTML = ...

noak96 25.06.2013 17:02

Получилось! Огромное спасибо, skrudjmakdak! :)


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