私はバックボーンビューを持っています.とりわけ、ユーザーの日付の入力を取得するajax呼び出しを実行します(js datepickerウィジェットから、および. . さて、成功したら、新しいデータをelに追加しようとしますが、elも最初のデータを保持します。さらに、新しい日付を選択するたびに、テンプレートの前の日付の下に新しい div が追加されます。これをどのように解決すればよいですか?
多かれ少なかれ、私はこのように sth をやっています:
` TestView = Backbone.View.extend ({ テンプレート: _.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();
}
});
});
}
});`