如何设置复选框更改值?

时间:2013-10-18 18:19:20

标签: javascript jquery

所以,我只是想知道每当有人点击复选框时我将如何更改该值。基本上总土地转让税(PLTT + TLTT)应该成为$0。我已经厌倦了使用复选框进行if语句,但程序无法正常工作。如果我这样做,我需要一些建议吗?

<!doctype html>
<html>
    <head>
        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    </head>
    <body>
        <table bgcolor="#D4D4D4" border="1" width="450" height="60">
            <tr>
                <td width="175" align="center">Land Transfer Tax Calculator</td>
            </tr>
        </table>

        <table border="0" bgcolor="#E7E7E7" width="450" height="69">
            <tr>
                <td height="30" align="center">Enter the Price:<input type="textbox" name="x1" id="price" style="width:150px"></td><br>
            </tr>
            <tr>
                <td align="center" ><font size="2">(no commas or decimals)</font></td>
            </tr>
            <tr>
                <td align="center"><input type="checkbox"  id="check1" value="">First time home buyers</td>
            </tr>
            <tr>
                <td align="center"><input type="button" id="calculate" style="" value="Calculate"></td>
            </tr>
        </table>

        <table bgcolor="#E7E7E7" width="450" border="0" >
            <tr>
                <td align="center">Provincial Land Transfer Tax (PLTT)</td>
                <td align="center">Toronto Land Transfer Tax (TLTT)</td>
                <td align="center">Total Land Transfer Tax (PLTT + TLTT)</td>
            </tr>
            <tr>
                <td align="center"><input type="textbox" id="provincal" value="" style="width:135px" disabled/></td>
                <td align="center"><input type="textbox" id="toronto" value="" style="width:135px" disabled/></td>
                <td align="center"><input type="textbox" id="final" value="" style="width:135px" disabled></td>
            </tr>
        </table>
    </body>

    <script type="text/javascript">
        $("#calculate").click(function () {
            var x1 = $("#price").val();
            var y1,y2,y3,y4;

            if (x1 <= 50000) {
                y1=x1*0.005; //Provinical
                y2=x1*0.005; //Toronto
                y3=y1+y2;
            }
            else if (x1 <= 250000) {
                y1=(x1*0.01)-275; //Provinical
                y2=y1; //Toronto
                y3=y1+y2;
            }
            else if (x1<=400000) {
                y1=(x1*0.015)-1525; //Provinical
                y2=(x1*0.01)-275; //Toronto
                y3=y1+y2;
            }
            else if (x1>=400001) {
                y1=(x1*0.02)-3525;
                y2=y1-750;
                y3=y1+y2;
            }

            $("#rebate").val(y4);
            $("#final").val(y3);
            $("#toronto").val(y2);
            $("#provincal").val(y1);
        });
    </script>
</html>

3 个答案:

答案 0 :(得分:0)

你是如何做你的if语句的?

在计算结束时(但在更改文本框值之前)尝试此操作

if ($("#check1").is(":checked")) {
    y3=0;
}

答案 1 :(得分:0)

使用click事件处理程序处理已检查/未检查的事件,并在apt内部运行计算。 jsFiddle link

$("#check1").click(function () {
     if ($("#check1").prop("checked")) {
         $("#final").val(0);
         $("#toronto").val(0);
         $("#provincal").val(0);
     }
     else{
         calc();
     }
 });

答案 2 :(得分:0)

你可以尝试一下。

$("checkbox#check1").on('click',function(){
    if($(this).is(":checked")){
         $("input#price").val(0);

    }else{
        calculate();
    }
})