模板上添加了新$el,其中包含在主干视图中返回的 ajax 成功数据
New $el added on template with the data returned on ajax success in Backbone View
我有一个主干视图,除其他外,它执行一个ajax调用,获取用户的日期输入(从和到,从js datepicker小部件),相应的django视图根据这些输入查询数据库并返回新的json-ed数据。现在,在成功时,我尝试将新数据附加到 el,但 el 也会保留初始数据。更重要的是,每次我选择新日期时,都会在模板上的前一个div 下方添加新的div。我应该如何解决这个问题?
我或多或少是这样做的:
' TestView = Backbone.View.extend ({ template: _.template($("#test-template").html()), url: $("#test-url").data('url'),
render: function() {
var template = this.template;
var url = this.url;
var el = $(this.el);
var _this = this;
var currentDate = new Date();
var day = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
cur_date = month + "/" + day + "/" + year;
var m = month - 1 ;
prev_date = m + "/" + day + "/" + year;
data_send = {period_from: prev_date, period_to:cur_date};
$.get(url, data_send, function(data) {
var pigs = $.parseJSON(data);
el.append(template(pigs));
_this.event();
$( ".date-popup" ).datepicker();
});
return this;
},
event: function(){
_this = this;
var $to = $('#to_id');
var template = this.template;
var url = this.url;
var el = $(this.el);
$to.on('change', function(event) {
var from = $('#from_id').val();
var to = $('#to_id').val();
$.ajax({
type:"GET",
url :url,
data: {
period_from: $('#from_id').val(),
period_to: $('#to_id').val()
},
datatype:"json",
error:function(data){alert('Error:'+data);},
success:function(data){
var pigs = $.parseJSON(data);
el.append(template(pigs));
_this.event();
}
});
});
}
});'
如果您
不希望显示旧数据,那么可能会使用el.html(template(pigs))
而不是el.append(template(pigs))
会有所帮助。
相关文章:
- 如何在Jquery中发布后将值从视图返回到控制器
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- float's未返回到移动视图结束后的位置
- 从Nodejs中的函数返回数组,并将其发送到ejs视图
- 当视图在AngularJS中返回时,我如何获得异步服务调用来更新视图
- 在主干视图中的每个方法之后是否需要“返回此内容”
- 可以'在使用Javascript/AjaxMVC之后,不会返回到任何视图
- 如何使用jsonp调用返回的数据在Durandal中呈现视图
- 如何在视图中显示json返回的linq列表
- “渲染骨干模型视图”返回未定义的结果
- 如何在返回后将状态保持为突出显示JQuery树视图的选定节点
- 在视图模型中使用 MVC 视图返回 JsonResult 数据
- 挖空映射对象未由杜兰达尔视图模型返回
- 将返回值作为主干视图方法之间的参数传递
- 如何告诉MVC 4视图返回带有子路由的JSON结果
- CanJS视图返回@@!!@@if视图包含HTML表
- JavaScript实现的打印二进制树的左视图返回错误的结果
- Backbonejs确定哪个函数从模型向视图返回了响应
- 我应该从一个简单的django AJAX视图返回什么样的响应?
- 骨干:传递模型属性给视图返回未定义