2014-12-15 3 views
-1

У меня есть простая итерация с помощью JQuery each

$.each(data.Limit, function (index, value) { 
    alert(value.LimitCategory); 
}); 

Как изменить это назвать фактический яваскрипт функции - которую я хочу сохранить отдельно от цикла?

например.

function DoSomethingElse(index, value){ 
//more things here 
}; 

Я пробовал несколько способов и не могу получить синтаксис.

+8

'$ .each (data.Limit, DoSomethingElse)' –

+1

просто передать функции ссылки (имя функции) в качестве второго парам –

+1

возможно прочитать статью на MDN о JavaScript тоже – Shiala

ответ

2

Просто передать функцию в качестве второго пар вашего метода each:

$.each(data.Limit, DoSomethingElse) 
0

Просто объявите нужный метод и вызвать его.

$.each(data.Limit, function (index, value) { 
    someMethod(index, value); 
}); 

function someMethod(i, v){ 
    // process 
} 
+2

Нет необходимости обертывать someMethod в другой функции. – ianaya89

+0

Это просто еще один способ реализации @ ianaya89 –

+2

не очень эффективный tho – Shiala

0

Итак, когда вы передаете анонимную функцию в качестве второго параметра $ .each вы действительно Вызов фактического JAVASCRIPT FUNCTION (жаль колпачков мой телефон не ведет себя хорошо.) В случае, если вы хотите определить функции и передать имя функции, синтаксис будет следующим.

function myFunction (i, val) { 
    //i is for index 
    //use this or val for current object in array 
} 

$.each(array, myFunction); 
Смежные вопросы