[Solved] How can I assign numbers in Javascript? [closed]


I set up a jsfiddle for you. You can just plug in your logic to calculate the risk for the remaining fields and clean up the html.

JavaScript

var risk = {
    'none': 0,
    'low': 1,
    'high': 2,
    'abnormal': 3
};

var myRsk = 0;

function getValue(name) {
    return document.getElementsByName(name)[0].value;
}

function calculateRisk() {
    age = getValue('iAge');
    gender = getValue('iGender');
    sbp = getValue('iSBP');
    dbp = getValue('iDBP');
    temp = getValue('iTemp');
    race = getValue('iRace');
    family = getValue('iFamily');

    myRisk = 0;
    myRisk += calculateAge(age);
    myRisk += calculateGender(gender);
    myRisk += calculateSBP(sbp);
    myRisk += calculateDBP(sbp);
    myRisk += calculateTemp(temp);
    myRisk += calculateRace(race);
    myRisk += calculateFamily(family);
    myRisk = parseFloat(myRisk / 21 * 100).toPrecision(4);

    alert('Your Risk = ' + myRisk + '%');
}

function calculateAge(age) {
    val = parseInt(age)
    if (val > 80) return risk['abnormal'];
    else if (val > 60) return risk['high'];
    else if (val > 40) return risk['low'];
    else return parseInt(risk['none']);
}

function calculateGender(gender) {
    return parseInt(risk['low']);
}

function calculateSBP(sbp) {
    return parseInt(risk['low']);
}

function calculateDBP(dbp) {
    return parseInt(risk['low']);
}

function calculateTemp(temp) {
    return parseInt(risk['low']);
}

function calculateRace(race) {
    return parseInt(risk['low']);
}

function calculateFamily(family) {
    return parseInt(risk['low']);
}

HTML

<form>
    <div class="item" title="Ages 18 to 39 have a lower risk of cancer than for those over 40.">
        <label>Age</label>
        <input name="iAge" type="text" />
    </div>
    <div class="item" title="Choose your biological gender. Males are more likely to develop lung cancer than females.">
        <label>Gender</label>
        <input name="iGender" type="text" />
    </div>
    <div class="item" title="Low blood pressure is anything below 100. Normal range is 120-130. High blood pressure is over 135.">
        <label>Systolic Blood Pressure</label>
        <input name="iSBP" type="text" />
    </div>
    <div class="item" title="Low blood pressure is anything below 70. Normal range is 80-85. High blood pressure is over 90.">
        <label>Diastolic Blood Pressure</label>
        <input name="iDBP" type="text" />
    </div>
    <div class="item" title="Below 98.6 degrees Fahrenheit/37 degrees Celsius is unhealthy Normal range is at exactly 98.6 degrees/37 degrees Celsius">
        <label>Temperature</label>
        <input name="iTemp" type="text" />
    </div>
    <div class="item" title="African Americans have a higher chance of lung cancer; followed by Caucasians, Asians, Pacific Islanders, Hispanics, and Native Americans have a low percentage.">
        <label>Race</label>
        <input name="iRace" type="text" />
    </div>
    <div class="item" title="Family History of Lung Cancer. Choose Yes if an immediate family member had lung cancer. Note: The Calculator is only applicable for persons without a previous diagnosis of lung cancer.">
        <label>Family</label>
        <input name="iFamily" type="text" />
    </div>
    <input type="button" value="Calculate" onclick="calculateRisk()" />
</form>

CSS

label {
    width: 160px;
    float: left;
}
input[type="text"] {
    vertical-align:middle;
}
.item {
    margin-bottom:1.5em;
    clear:both;
    overflow:hidden;
}

solved How can I assign numbers in Javascript? [closed]