使用选择框和javascript添加值的百分比

时间:2014-01-14 16:05:52

标签: jquery forms input percentage

我有2个输入和1个选择框。在选择框中我有4%0.05代表5%等

1输入是购买价格。另一个必须是purcase价格加上百分比。我试过制作但我的代码不起作用。这是HTML

                        <table width="70%" cellpadding="0" cellspacing="0" border="0">
                        <tr>
                            <td align="left" width="16%" height="30">

                                PURCHASE<BR />
                                <input class="textbox" type="text" name="purchase_price" id="purchase_price" value="{if $smarty.get.eid neq ''}{$menudet[0].purchase|stripslashes}{/if}" />


                            </td>
                        </tr>
                        <tr>
                            <td align="left" width="16%" height="30">
                                INCREASE %<BR />
                                <select id="percentage" class="percentage">
                                  <option value="0.05">5%</option>
                                  <option value="0.10">10%</option>
                                  <option value="0.15">15%</option>
                                  <option value="0.20">20%</option>
                                </select>

                            </td>
                        </tr>
            <tr>
                            <td align="left" width="16%" height="30">
                                SELL PRICE<BR />
                                <input class="textbox" type="text" name="menu_price" id="menu_price" value="{if $smarty.get.eid neq ''}{$menudet[0].menu_price|stripslashes}{/if}" />
                            </td>
                        </tr>
                    </table>

这是javascript(我是否也应该在onDocload上执行此操作?或者无关紧要因为onchange是一个函数?

    {literal}
<script>

$("#percentage").change(function() {
    var perc = $("#purchase_price").val;
    var purch = $("#percentage").val;

    $("#menu_price").val(((purch * perc) + purch));
});
{/literal}

现在它什么也没做...........

1 个答案:

答案 0 :(得分:0)

您需要将.val更改为.val()

<table width="70%" cellpadding="0" cellspacing="0" border="0">
    <tr>
        <td align="left" width="16%" height="30">

            PURCHASE<BR />
            <input class="textbox" type="text" name="purchase_price" id="purchase_price" value="{if $smarty.get.eid neq ''}{$menudet[0].purchase|stripslashes}{/if}" />


        </td>
    </tr>
    <tr>
        <td align="left" width="16%" height="30">
            INCREASE %<BR />
            <select id="percentage" class="percentage">
                <option value="1.05">5
                    %</option>
                <option value="1.10">10%</option>
                <option value="1.15">15%</option>
                <option value="1.20">20%</option>
            </select>

        </td>
    </tr>
    <tr>
        <td align="left" width="16%" height="30">
            SELL PRICE<BR />
            <input class="textbox" type="text" name="menu_price" id="menu_price" value="{if $smarty.get.eid neq ''}{$menudet[0].menu_price|stripslashes}{/if}" />
        </td>
    </tr>
</table>


$("#percentage").change(function () {
    var perc = parseFloat($("#purchase_price").val());
    var purch = parseFloat($("#percentage").val());

    $("#menu_price").val((purch * perc).toFixed(2));
});