入力フィールド(数値)とラジオボタンから値を取得し、現在の日付の配列に保存したいと思います。次に、合計を取得して div に表示し、配列のすべての値を別の div にリストできるようにしたいと考えています。
これまでの私のHTMLは次のとおりです。
<div data-role="fieldcontain" data-controltype="textinput">
<input name="" id="amount" placeholder="Amount" value="" type="number">
</div>
<div data-role="fieldcontain" data-controltype="radiobuttons">
<fieldset data-role="controlgroup" data-type="horizontal" id="type">
<input id="radio1" name="" value="cash" type="radio">
<label for="radio1">cash</label>
<input id="radio2" name="" value="cheque" type="radio">
<label for="radio2">cheque</label>
</fieldset>
</div>
<button onClick="Transaction.add()">ADD</button>
<button onClick="Transaction.subtract()">SUBTRACT</button>
<div>
<button onClick="Transaction.getTotal()">GET TOTAL!</button>
<p id="total"></p>
</div>
<div>
<button onClick="Transaction.list()">List</button>
<p id="listSpace"></p>
</div>
そして私のJS:
function currentDate() {
var d = new Date();
var dateString = d.getDate() + "/" + d.getMonth + 1 + "/" + date.getFullYear().toString().substr(2, 2) + " " + d.getHours() + minutes
return dateString;
}
var movements = [];
function Transaction() {
this.amount = Number(document.getElementById("amount").value);
this.date = currentDate();
this.type = document.getElementById("type").value;
this.add = function () {
movements.push([this.amount, this.date, this.type]);
};
this.subtract = function () {
movements.push([-(this.amount), this.date, this.type]);
};
this.getTotal = function () {
for (var i = 0; i < movements.length; i++) {
movements[i][0].reduce(function (a, b) {
document.getElementById("total").innerHTML = a + b;
}, 0);
}
};
this.list = function () {
for (var j in movements) {
document.getElementById("listSpace").innerHTML = movements[j]
};
};
}
私はおそらく初心者として多くのことを間違っていることを知っているので、これを整理するための助けをいただければ幸いです!
JSfiddle のリンクは次のとおりです: http://jsfiddle.net/soundCat/93Jsz/