Рендеринг якорной ссылки с помощью json2html
Я пытаюсь сделать якорь с помощью json2html со следующим преобразованием:
'renderTimeline':[ {
tag: "a",
class: "btn btn-warning btn-circle",
style: "float: right;",
html: "<i class=\"icon-remove\"></i>",
"href": function() {
var myhref = "javascript:delSchedule(" + this + ");";
return myhref;
}
}]
намерение состоит в том, чтобы удалить объект json, который передается ему с помощью:
$('#sunTimeLine').json2html(sched1.sunday, transforms.renderTimeline, {'events':true});
Я получаю следующее как o/p на рендеринг HTML:
<a class="btn btn-warning btn-circle" style="float: right;" href="javascript:delSchedule([object Object]);"><i class="icon-remove"></i></a>
когда я нажимаю на ссылку (кнопку), я получаю сообщение в консоли браузера:
SyntaxError: missing ] after element list
Пожалуйста, помогите мне решить эту проблему.
4 ответа
Следующий код решил мою проблему:
'renderTimeline':[ {
tag: "a",
class: "btn btn-warning btn-circle",
style: "float: right;",
html: "<i class=\"icon-remove\"></i>",
"onclick": function(e) {
delSchedule(e);
}}
}]
Если я прохожу следующий JSON:
{ monday:[ { startTime:10:00, endTime: 12:00, room_id:cse124 }, { startTime:13:00, endTime: 15:00, room_id:lotus } ] }
Я хочу иметь доступ к "понедельник" в функции delSchedule(). Как мне это сделать? Пожалуйста помоги.
Проверьте документацию для большего количества примеров, но вы должны использовать встроенные события jquery, как так
'renderTimeline':[ {
tag: "a",
class: "btn btn-warning btn-circle",
style: "float: right;",
html: "<i class=\"icon-remove\"></i>",
"onclick": function(e) {
delSchedule(this);
}}
}]
Обратите внимание, что json2html поддерживает большинство событий jquery, просто добавляя к событию префикс "on", например, onclick, onfocus и т. Д.
{
tag: "a",
class: "btn btn-warning btn-circle",
style: "float: right;",
html: "<i class=\"icon-remove\"></i>",
"href": function() {
var myhref = "javascript:delSchedule(this);";
return myhref;
}
}
Предполагая, что вы пытаетесь передать ссылку на выбранный элемент в delSchedule
функция, вам нужно изменить href
определение как это:
"href": function() {
var myhref = "javascript:delSchedule(this);"; // note 'this' is part of the string, not concatenated
return myhref;
}