Я хочу выполнить функцию, которая добавляет (jQuery) li к ul. Теперь я хочу, чтобы передать строку в качестве параметра, который выглядит как:Javascript - передать html строку, содержащую переменные в качестве параметра
v.name + " by " + v.artist
Проблема заключается в том, что v.name и v.artist не существует вне функции, так как функция содержит цикл .each:
function showAllItems (data, displayText) {
$("ul.result-list").empty();
$.each(data.results, function (k, v) {
var name = eval(displayText);
if ($("ul.chosen-list input#" + v.name).length == 0) {
$("ul.result-list")
.append($("<li>")
.append($("<input>", {id: v.name, value: v.name, type: "checkbox"}))
.append($("<label>", {html: name, for: v.name, class: "clickable"})));
}
});
}
То, что я использую сейчас, является eval (displayText), чтобы преобразовать строку в реальную переменную. Но теперь я не могу передать что-то вроде ранее сказанного (v.name + "на" + v.artist ").
Короче говоря, я хочу напечатать строку, содержащую переменные, которые не существуют до цикла .each.
Я надеюсь, что кто-то может мне помочь!
Спасибо заранее,
Ян Wensink
Почему бы не существовало, и что вы имеете в виду, когда утверждаете, что преобразуете строку в «реальную переменную»? – adeneo
Ну, я хочу напечатать v.name, но v не существует вне каждого цикла, потому что это значение. Поэтому я хочу перейти к функции, которую нужно распечатать v.name, но v.name еще не имеет значения. Вот почему это должна быть строка, которая должна быть преобразована в переменную. – Ian