私はbackbone.jsを使用して、特定のビットのデータに対して複数のエントリを一度に取得しています。このデータは最終的にタイムテーブルを形成します。私が今必要とするのは、1つのアイテムビューに入力された3つのデータフィールドを常にチェックする方法を理解し、別のアイテムビューで繰り返すことです。ここでBackbone.jsでの検証
は、ここでは、コード
<div class="grid_16 lb-bg"> <div class="clearfix form-box bot-p bot-m">
<div >
<label for="ClassTimes[{{ count }}].ClassId">Class</label> <br/>
<select id="ClassTimes[{{ count }}].ClassId" name="ClassTimes[{{ count }}].ClassId" class="ClassList" style="Width: 20%">
@foreach (var c in Model.Classes)
{
<option value="@c.Value">@c.Text</option>
}
</select>
</div>
<div >
<label for="ClassTimes[{{ count }}].RoomId">Room</label> <br/>
<select id="ClassTimes[{{ count }}].RoomId" name="ClassTimes[{{ count }}].RoomId" style="Width: 20%">
@foreach (var c in Model.Rooms)
{
<option value="@c.Value">@c.Text</option>
}
</select>
</div>
<div >
<label for="ClassTimes[{{ count }}].SessionId">Class Session</label> <br/>
<select id="ClassTimes[{{ count }}].SessionId" name="ClassTimes[{{ count }}].SessionId" class="SessionList MakeWide" style="Width: 20%">
@foreach (var c in Model.Sessions)
{
<option value="@c.Value">@c.Text</option>
}
</select>
</div>
<div >
<label for="ClassTimes[{{ count }}].DayId">Day</label> <br/>
<select id="ClassTimes[{{ count }}].DayId" name="ClassTimes[{{ count }}].DayId" class="MakeWide" style="Width: 20%">
@foreach (var c in Model.Days)
{
<option value="@c.Value">@c.Text</option>
}
</select>
</div>
は、バックボーン・コードはので、このコードは、クラスの数とセッションを取ることである
window.CreateAssign = (function() {
var CreateAssign = {};
var subs = new Array();
//The next of kin item list view
AssignItemView = Backbone.View.extend({
tagName: 'div',
initialize: function() {
//bindall
_.bindAll(this, 'render');
this.template = _.template($('#SFTemplate').html());
this.render();
},
render: function() {
$(this.el).html(this.template({
count: subs.length
})).fadeIn();
return this;
}
,
remove: function() {
$(this.el).fadeOut('fast', function() {
$(this).remove();
});
return false;
}
});
function subUpdated() {
if (subs.length > 0) {
$('#removeassign').fadeIn();
}
else {
$('#removeassign').fadeOut();
}
}
CreateAssign.Init = function() {
$('#addassign').click(function() {
var item = new AssignItemView();
subs.push(item);
$('#classlist').prepend($(item.el).fadeIn('fast'));
subUpdated();
return false;
});
$('#removeassign').click(function() {
if (subs.length > 0) {
subs.pop().remove();
}
subUpdated();
return false;
});
};
return CreateAssign;
})(this, this.document);
$(function() {
CreateAssign.Init();
});
です、r午前と曜日があります。
同じセッションで、同じセッションで2つのクラスが選択されていないことを確認する必要があります。
以前のアイテムビューでどのデータが選択されたかを確認するには、イベントなどを設定する方法を教えてください。
は、ClassTimesのバックボーンコレクションですか?それは配列のようです。 'ClassTimes'バックボーンモデルの要素ですか?私はあなたが 'model.escape(" RoomId ")' – timDunham