2013-06-09 4 views
0

A. У меня есть этот кусок кода JQM, который позволяет вызывать функцию, когда пользователь нажимает на элемент списка.JQ Mobile: вызов функции с несколькими параметрами из списка

$("#MyList").append($("<li><a onclick='MyFunction()'></a></li>")); 
IT WORKS GREAT! 

B. Если я добавить параметр функции, как этот

$("#MyList").append($("<li><a onclick='MyFunction(" + Param1 + ")'></a></li>")); 
IT ALSO WORKS GREAT! 
(Param1 is a JS variable) 

C. Но если я хочу, чтобы добавить больше параметров, как этот

$("#MyList").append($("<li><a onclick='MyFunction(" + Param1 + "," + Param2 + "," + Param3 + ")'></a></li>")); 
IT FAILS :(

Я также попытался:

$("#MyList").append($("<li><a onclick='MyFunction(Param1 , Param2, Param3)'></a></li>")); 
IT FAILS TOO 

Где ошибка ?

+0

Что конкретно не удается? Вы получаете ошибки javascript? Как выглядит функция вашего вызова? – Novocaine

ответ

2

Если параметры строкового типа, они должны быть заключены в одинарные кавычки:

так заменить следующий код:

... MyFunction(" + Param1 + "," + Param2 + "," + Param3 + ") ... 

для этого:

... MyFunction(" + Param1 + ",'" + Param2 + "','" + Param3 + "') ... 

В мой пример Param1 может быть параметром числового типа, но Param2 и Param3 являются строковыми типами, поэтому я заключу их в одинарные кавычки.

+0

Да !, хотя, если у Парама есть место, это терпит неудачу .... –

Смежные вопросы