javascript - Calculate value/price based on rows in textarea -
im trying calculate price depending on how many rows use in textarea. have come far. problem won't calculate, think have looked @ or something.
let me explain little, first of som textads. there flatfee minimum of 2 rows , additional 10 each new row, maximum of 10 rows.
var flatfee = '70.00'; var perrow = '10.00'; function rowcount(area, maxlength) { //var area = document.getelementbyid("textarea-1") // trim trailing return char if exists var text = area.value.replace(/\s+$/g, ""); var split = text.split("\n"); if (split.length > maxlength) { split = split.slice(0, maxlength); area.value = split.join('\n'); alert("you can not enter more " + maxlength.tostring() + " lines"); } return false; } var div = $('span.rowcount'); jquery('textarea#textarea-1').on('input', function($) { var count = rowcount(this.value); div.html(count.rows); /*var additionalfees = perrow*count.rows;*/ if (count.rows > 2) { var additionalfees = perrow * (count.rows - 2); } var total = parsefloat(flatfee) + parsefloat(additionalfees); $('span.total').html(parsefloat(total.tostring()).tofixed(2)); /*var total = $('span.total');*/ console.log(total); });
<textarea cols="32" rows="10" maxlenght="320" class="form-control" name="textarea-1" id="textarea-1" placeholder="type or paste prompt here."></textarea> <p>you have <span class="rowcount">0</span> rows.total <span class="total">0</p>
modified function bit. works now
var flatfee = '70.00'; var perrow = '10.00'; function rowcount(area, maxlength) { //var area = document.getelementbyid("textarea-1") // trim trailing return char if exists var text = area.replace(/\s+$/g, ""); var split = text.split("\n"); if (split.length > maxlength) { split = split.slice(0, maxlength); area.value = split.join('\n'); alert("you can not enter more " + maxlength.tostring() + " lines"); } return {rows:split.length}; } var div = $('span.rowcount'); jquery('textarea#textarea-1').on('input', function($) { var count = rowcount(this.value); div.html(count.rows); /*var additionalfees = perrow*count.rows;*/ var additionalfees=0; if (count.rows > 2) { additionalfees = perrow * (count.rows - 2); } var total = parsefloat(flatfee) + parsefloat(additionalfees); //$('span.total').html(total.tostring().tofixed(2)); /*var total = $('span.total');*/ console.log(total); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <textarea cols="32" rows="10" maxlenght="320" class="form-control" name="textarea-1" id="textarea-1" placeholder="type or paste prompt here."></textarea> <p>you have <span class="rowcount">0</span> rows.total <span class="total">0</span></p>
Comments
Post a Comment