Skip to content

Instantly share code, notes, and snippets.

@arieffikhrie
Last active October 17, 2023 18:48
Show Gist options
  • Save arieffikhrie/e6053b17639e857c5fb8bbb0794ed5f9 to your computer and use it in GitHub Desktop.
Save arieffikhrie/e6053b17639e857c5fb8bbb0794ed5f9 to your computer and use it in GitHub Desktop.
uber fare calculator
(function($){
var currentCur = 'MYR';
var tripsTable = $('#trips-table');
var fareColHeader = tripsTable.find('thead tr th:nth-child(4)');
var fareColHeaderSum = fareColHeader.find('.af-faresum');
if ( fareColHeaderSum.length === 0 ){
fareColHeaderSum = $('<span class="af-faresum">(<span class="af-faresumval">' + currentCur +'0.00</span>)</span>');
}
fareColHeader.append(fareColHeaderSum);
var fareCol = tripsTable.find('tbody tr td:nth-child(4)');
var convertCurrencyToNumber = function(value, currency){
if ( typeof value !== 'string' ){
return 0.00;
}
if ( typeof currency === 'undefined' || currency === '' ){
currency = 'MYR';
}
value = value.trim();
if ( value === currency + 'NaN' ){
return 0.00;
}
return parseFloat(value.replace(currency, '' ));
};
fareCol.each(function(item, i){
var elem = $(this);
var checkbox = elem.children('.af-checkwrapper');
if ( checkbox.length === 0 ){
checkbox = $('<div class="af-checkwrapper"><input type="checkbox" /></div>');
elem.append(checkbox);
}
}).promise().done(function(){
tripsTable.off('change', '.af-checkwrapper input');
tripsTable.on('change', '.af-checkwrapper input', function(){
var elem = $(this);
var elemTd = elem.closest('td');
var itemText = elemTd.text();
var itemVal = convertCurrencyToNumber(itemText);
var currentSumDom = fareColHeaderSum.find('.af-faresumval');
var currentSumText = currentSumDom.text();
var currentSumVal = convertCurrencyToNumber(currentSumText);
if ( elem.prop('checked') ){
currentSumVal = currentSumVal + itemVal;
} else {
currentSumVal = currentSumVal - itemVal;
}
currentSumDom.text(currentCur + Number(currentSumVal).toFixed(2));
});
});
})(jQuery);
!function(e){var a="MYR",t=e("#trips-table"),n=t.find("thead tr th:nth-child(4)"),r=n.find(".af-faresum");0===r.length&&(r=e('<span class="af-faresum">(<span class="af-faresumval">'+a+"0.00</span>)</span>")),n.append(r);var c=t.find("tbody tr td:nth-child(4)"),p=function(e,a){return"string"!=typeof e?0:(("undefined"==typeof a||""===a)&&(a="MYR"),e=e.trim(),e===a+"NaN"?0:parseFloat(e.replace(a,"")))};c.each(function(a,t){var n=e(this),r=n.children(".af-checkwrapper");0===r.length&&(r=e('<div class="af-checkwrapper"><input type="checkbox" /></div>'),n.append(r))}).promise().done(function(){t.off("change",".af-checkwrapper input"),t.on("change",".af-checkwrapper input",function(){var t=e(this),n=t.closest("td"),c=n.text(),f=p(c),i=r.find(".af-faresumval"),s=i.text(),d=p(s);t.prop("checked")?d+=f:d-=f,i.text(a+Number(d).toFixed(2))})})}(jQuery);

Uber trips calculator

Just copy the code into address bar with javascript: or copy it into console

Image 1

Image 2

Image 3

@Khureshi1800
Copy link

(function($){
var currentCur = 'MYR';
var tripsTable = $('#trips-table');
var fareColHeader = tripsTable.find('thead tr th:nth-child(4)');
var fareColHeaderSum = fareColHeader.find('.af-faresum');
if ( fareColHeaderSum.length === 0 ){
fareColHeaderSum = $('(' + currentCur +'0.00)');
}
fareColHeader.append(fareColHeaderSum);
var fareCol = tripsTable.find('tbody tr td:nth-child(4)');
var convertCurrencyToNumber = function(value, currency){
if ( typeof value !== 'string' ){
return 0.00;
}
if ( typeof currency === 'undefined' || currency === '' ){
currency = 'MYR';
}
value = value.trim();
if ( value === currency + 'NaN' ){
return 0.00;
}
return parseFloat(value.replace(currency, '' ));
};
fareCol.each(function(item, i){
var elem = $(this);
var checkbox = elem.children('.af-checkwrapper');
if ( checkbox.length === 0 ){
checkbox = $('

');
elem.append(checkbox);
}
}).promise().done(function(){
tripsTable.off('change', '.af-checkwrapper input');
tripsTable.on('change', '.af-checkwrapper input', function(){
var elem = $(this);
var elemTd = elem.closest('td');
var itemText = elemTd.text();
var itemVal = convertCurrencyToNumber(itemText);
var currentSumDom = fareColHeaderSum.find('.af-faresumval');
var currentSumText = currentSumDom.text();
var currentSumVal = convertCurrencyToNumber(currentSumText);
if ( elem.prop('checked') ){
currentSumVal = currentSumVal + itemVal;
} else {
currentSumVal = currentSumVal - itemVal;
}
currentSumDom.text(currentCur + Number(currentSumVal).toFixed(2));
});
});
})(jQuery);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment