Low-FODMAP Diet Calculator
About this app
A user-friendly online calculator to help individuals following a low-FODMAP diet manage IBS symptoms by estimating FODMAP content based on food input.
Low-FODMAP Diet Calculator Low-FODMAP Diet Calculator Select Food: Apple Banana Carrot Chickpeas Cow's Milk Honey Enter Quantity (g): Add Food Clear All This calculator is for informational purposes only and should not replace professional dietary advice.
Related apps
Put this on your site
Source
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Low-FODMAP Diet Calculator</title>
<meta name="description" content="A user-friendly online calculator to help individuals following a low-FODMAP diet manage IBS symptoms by estimating FODMAP content based on food input.">
<meta name="keywords" content="FODMAP, IBS, diet calculator, low FODMAP, nutrition, health, Monash University, dietary management">
<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">
<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.
const foodDatabase = {
"apple": {fo: 10, name: "Apple"},
"banana": {fo: 8, name: "Banana"},
"carrot": {fo: 3, name: "Carrot"},
"chickpeas": {fo: 25, name: "Chickpeas"},
"milk": {fo: 5, name: "Cow's Milk"},
"honey": {fo: 35, name: "Honey"}
};
let totalFODMAP = 0;
document.addEventListener("DOMContentLoaded", function() {
const foodInput = $('#foodInput');
const qtyInput = $('#qtyInput');
const resultArea = $('#resultArea');
const addButton = $('#addFoodButton');
const calculatedResult = $('#calculatedResult');
addButton.click(function () {
const foodItem = foodInput.val();
let qty = parseFloat(qtyInput.val());
if (!foodDatabase[foodItem]) {
alert('Food item not found.');
return;
}
if (isNaN(qty) || qty <= 0) {
alert('Please enter a valid quantity.');
return;
}
const fCmd = foodDatabase[foodItem].fo;
totalFODMAP += (fCmd * qty);
const resultString = `Added ${qty}g of ${foodDatabase[foodItem].name} FODMAP content: ${fCmd * qty}g`;
resultArea.append(`<div>${resultString}</div>`);
updateOverallResults();
});
function updateOverallResults(){
calculatedResult.text(`Total FODMAP Load: ${totalFODMAP}g`);
const severity = getFODMAPSeverity(totalFODMAP);
calculatedResult.removeClass().addClass(severity.class);
calculatedResult.addClass('result-text');
}
function getFODMAPSeverity(total) {
if (total < 5) return {class: 'text-success'}; // Low
if (total < 15) return {class: 'text-warning'}; // Moderate
return {class: 'text-danger'}; // High
}
$('#clearButton').click(function(){
totalFODMAP = 0;
resultArea.empty();
calculatedResult.text('');
});
});
} catch (error) {
throw error;
}
</script>
<style>
body {
background: linear-gradient(to right, #ffccbc, #ffe57f);
font-family: Arial, sans-serif;
}
#main-container {
margin-top: 30px;
text-align: center;
}
.result-text {
font-size: 24px;
margin-top: 20px;
}
.text-success {
color: green;
}
.text-warning {
color: orange;
}
.text-danger {
color: red;
}
input, select {
margin: 10px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1 class="text-center">Low-FODMAP Diet Calculator</h1>
<div>
<label for="foodInput">Select Food:</label>
<select id="foodInput">
<option value="apple">Apple</option>
<option value="banana">Banana</option>
<option value="carrot">Carrot</option>
<option value="chickpeas">Chickpeas</option>
<option value="milk">Cow's Milk</option>
<option value="honey">Honey</option>
</select>
</div>
<div>
<label for="qtyInput">Enter Quantity (g):</label>
<input type="number" id="qtyInput" placeholder="grams" />
</div>
<div>
<button id="addFoodButton" class="btn btn-primary">Add Food</button>
<button id="clearButton" class="btn btn-secondary">Clear All</button>
</div>
<div id="resultArea"></div>
<div id="calculatedResult" class="result-text"></div>
<p class="mt-4 text-center text-muted"><em>This calculator is for informational purposes only and should not replace professional dietary advice.</em></p>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!