[英]How to get value of data-id and place it into a twitter bootstrap modal?
[英]How to get the data-id value
我正在使用backbone.marionette.js并且我能够将值填充到表中,但是在尝试获取所选行的值时我遇到了问题。
以下是我的模板:
<td><%= firstName %></td>
<td><%= lastName %></td>
<td><%= designation %></td>
<td>
<a href="#" data-id='<%= userid %>'>
<img src="assets/img/add.png" id="add-puppet-button" alt="Add Row" />
</a>
<img src="assets/img/remove.png" id="remove-puppet-button" alt="Remove Row"/>
</td>
数据存在于data-id
。 当我调试时,我发现它是undefined
。 我试着通过以下方式获得它:
accordianView : function(e){
e.preventDefault();
var userid = $(e.currentTarget).data("userid");
var puppet = new PuppetModel();
puppet = PuppetTable.puppetCollection.get(userid);
console.log("firstName : "+puppet.get("firstName"));
console.log("lastName : "+puppet.get("lastName"));
console.log("Designation : "+puppet.get("designation"));
}
我在这里犯的错是什么? 请指导我解决这个问题。
var userid = $(e.currentTarget).data("userid");
需要是:
var userid = $(e.currentTarget).data("id");
我最好给链接一个ID或一个类,然后使用jquery的数据方法 。
默认情况下,模板中唯一可用的属性是在模型实例上定义的属性。 似乎userid
不属于该模型,因此它将是未定义的。
您可以将属性附加到模型,或者(更清洁的方式)在视图中定义serializeData
函数以丰富提供给视图的数据:提供具有所有puppet实例属性的对象,并添加userid
。
你可以在这里看到serializeData
一个例子: https : //github.com/davidsulc/marionette-gentle-introduction/blob/master/assets/js/common/views.js
相关文档如下: https : //github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.itemview.md#itemview-serializedata
您正在使用牵线木偶项目视图。 您不应该从Dom中撤回数据。
简单地做
var userid = this.model.get("userid");
Backbone和牵线木偶使得您无需在Dom中存储数据。 你有一个模型。
而
var userid = $(e.currentTarget).data("id");
会工作。 与backbone.js一起使用是一种糟糕的模式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.