Javascript 主干视图元素未附加属性
我试图用另一个视图中的选定名称列表附加HTMLTD标记。它会导致一个空的div标记。列表包含逗号分隔的值。您能解释一下如何将属性附加到视图元素吗 下面是来自基本视图的代码,它将TD作为视图元素传递Javascript 主干视图元素未附加属性,javascript,jquery,backbone.js,backbone-views,Javascript,Jquery,Backbone.js,Backbone Views,我试图用另一个视图中的选定名称列表附加HTMLTD标记。它会导致一个空的div标记。列表包含逗号分隔的值。您能解释一下如何将属性附加到视图元素吗 下面是来自基本视图的代码,它将TD作为视图元素传递 base view -------- var model = new DataNames(); var view = new SearchDataView({
base view
--------
var model = new DataNames();
var view = new SearchDataView({
model:model
});
view.render().showModal({
x: event.pageX,
y: event.pageY
});
var dName = new DataNamesView({
el: "#dataName" // this needs to be populated
});
dName.render();
subview 1 --- this view gets called from base view
SearchDataView = Backbone.ModalView.extend(
{
name: "SearchDataView",
model: DataNames,
templateHtml :
"<div id='select'><span>Search name</span>" +
"<table border='1'>"+
"<tr>"+
"<td><input type='checkbox' value='test1'></td>"+
"<td name='selected'>test1</td>"+
"<td></td>"+
"<td></td></tr>"+
"<tr>"+
"<td><input type='checkbox' value='test2'></td>"+
"<td name='selected'>test2</td>"+
"<td></td>"+
"<td></td></tr>"+
"</table><button id='select'>Select</button></div>",
initialize: function(){
_.bindAll( this, "render");
this.template = _.template( this.templateHtml);
},
events: {
"click #select": "select"
},
select: function(){
var allVals = [];
$('#select :checked').each(function() {
allVals.push($(this).val());
});
alert(allVals);
this.model.set("name",allVals);
var dName = new DataNamesView({selectedList: allVals});
dName.render();
this.hideModal();
},
render: function(){
$(this.el).html(this.templateHtml);
return this;
}
});
subview 2
----------
DataNamesView = Backbone.ModalView.extend(
{
name: "DataNamesView",
initialize: function(){
_.bindAll( this, "render");
var selectedList = this.options.selectedList;
},
events: {
},
render: function(name){
alert("selected from names view"+this.options.selectedList);
this.el.innerHTML = "testing";// this works fine
// $(this.el).html(this.options.selectedList); //does not work
//this.el.innerHTML = this.options.selectedList;//does not work
//this.$el.append(this.options.selectedList); //does not work
return this;
}
});
您能否发布视图的其余代码//var model=新数据源;var模型=新数据源名称;var view=newsearchDataSourceView{model:model};view.render.showmodel{x:event.pageX,y:event.pageY};var dsName=newdatasourcenamesview{el:datasourceName};dsName.render;请更新原始问题以包含代码。这样会保留格式。请放弃以前的帖子。下面的代码来自基本对话框,它将TD作为视图元素传递给另一个对话框var model=newdatanames;var view=newsearchdataview{model:model};view.render.showmodel{x:event.pageX,y:event.pageY};var dsName=newdatanamesview{el:dataName};dsName.render;我不懂你的代码。如何扩展backbone.view对象?将selectedList传递到视图的位置?请修改您的原始问题,以包含完整的代码供您查看。