0
私はknockout jsを学ぶのが初めてで、配列フィルタを使用して2つの入力から基本的に開始日と終了日の日付範囲を取得しようとしていました。この開始日と終了日は入力フィールドに由来します。私は多くの日付を含む配列を取得します。ko配列フィルタを使用して日付範囲を表示
<div class="row">
<div class="col-sm-6">
<input type="text" class="form-control" data-provide="datepicker" data-date-format="yyyy-mm-dd" name="birthday" data-bind="value : startDate"/>
</div>
<div class="col-sm-6">
<input type="text" class="form-control" data-provide="datepicker" data-date-format="yyyy-mm-dd" name="birthday" data-bind="value : endDate" />
</div>
</div>
<tbody data-bind="foreach: alldata">
<tr>
<td class="text-center"><span data-bind="text: $data.INSERT_DT"></span></td>
</tr>
</tbody>
だから私はko.utils.arrayFilter
を使用しようとしていますが、私はそれがどのように動作するか本当にわかりません。しかし、私が達成したいのは、配列のすべての日付が中間に来ることですとself.endDate
私のスクリプトです。
//This basically means showing all dates in observable
self.startDate = ko.observable('2000-12-01');
self.endDate = ko.observable('9999-12-01');
self.NewdateFilter = ko.observable();
self.filterDate = ko.computed(function(data){
var value1 = self.startDate();
var value2 = self.endDate();
return ko.utils.arrayFilter(function(){
//not really sure how to use this.
});
});
self.alldata = ko.observableArray();
self.viewAllInvoice = function() {
$.ajax({
type: 'POST',
url: BASEURL + 'index.php/main/getDates/' ,
contentType: 'application/json; charset=utf-8'
})
.done(function(invoices) {
self.alldata.removeAll();
$.each(invoices, function (index, invoice) {
self.alldata.push(invoice);
});
})
.fail(function(xhr, status, error) {
alert(status);
})
.always(function(data){
});
};
self.viewAllInvoice();
ちょっと私はそれを感謝します!今、私はそれが何をしているのか知っていますが、私はどこをself.filterDateと呼んでいますか? – Aurora
あなたはそれをまったく呼び出さない。これは計算された観測値です。あなたは他の観察可能なものを使用するようにあなたのビューモデルでそれを使用します、それは全体のポイントです。 ;) – Tomalak
申し訳ありませんが、私はすべてを書きましたが、htmlページの日付を変更すると、テーブルは同じままですが、何が間違っていますか?コンソールにエラーはありません。 – Aurora