1

我正在尝试使用以下转换呈现带有 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});

我在呈现的 html 上得到以下 o/p :

<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

4 回答 4

0

假设您尝试将单击元素的引用传递给delSchedule函数,则需要像这样更改href定义:

"href": function() {
    var myhref = "javascript:delSchedule(this);"; // note 'this' is part of the string, not concatenated
    return myhref;
}
于 2014-12-16T10:23:10.333 回答
0
{
  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;
    }
}
于 2014-12-16T10:25:16.763 回答
0

检查文档以获取更多示例,但您应该像这样使用内置的 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 等......

于 2014-12-16T20:37:48.077 回答
0

以下代码解决了我的问题:

'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() 中访问“星期一”。我该怎么做呢?请帮忙。

于 2014-12-17T09:27:46.477 回答