Javascript如果语句不能正常工作

Wes*_*ohn 1 html javascript

我的数学似乎都是正确的,唯一不起作用的是if语句.它总是从男性价值算出数学.

javascript:

function updatespending() {
    var age = parseFloat(document.forms[0].CurrentAge.value);
    var value = parseFloat(document.forms[0].NetWorth.value);

    if(document.forms[0].sex.value = "male") {
        var yearsleft = Math.round (76 - age);
    } else if(document.forms[0].sex.value = "female") {
        var yearsleft = 81 - age;
    }
}
Run Code Online (Sandbox Code Playgroud)

html:

<table width="433" border="1" align="center">
    <tr>
        <td class="liquidate">How much will you have to live off of if you liquidate all of your assets?</td>
    </tr>
    <tr>
        <td width="381" height="68">
            <table width="100%" border="0" cellpadding="4" cellspacing="4">
                <tr>
                    <td align="right">Sex:</td>
                    <td>
                        <input type="radio" name="sex" value="male">Male<br>
                        <input type="radio" name="sex" value="female">Female
                    </td>
                </tr>
                <tr>
                    <td align="right">Current Age:</td>
                    <td>
                        <input type="text" onchange="updatespending()" onkeyup="numericOnly(this)" maxlength="2" size="3" value="0" name="CurrentAge" />
                    </td>
                </tr>
                <tr>
                    <td align="right" >Annual Spending Available:</td>
                    <td>$<input name="AnnualSpending" disabled="disabled" readonly /> </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我还想这样做,如果个人将性别从男性改为女性,那么它会像我更新当前年龄时那样更新.不太确定on change会正常工作.任何其他建议都会很棒.

Mri*_*jay 6

问题是你说的

if(document.forms[0].sex.value = "male")
//this statement always return true so it will always go to if statement block.
Run Code Online (Sandbox Code Playgroud)

你应该说

if(document.forms[0].sex.value == "male") {
Run Code Online (Sandbox Code Playgroud)