如何在Focus out jquery事件上更新标签的值

时间:2015-11-18 12:20:48

标签: javascript jquery

我正在尝试通过计算TotalPrice和TotalPriceGST等一些内容来更新我的gridview。计算部分工作正常。当我离开UnitPriceTxt文本框(On Focus Out)时,我想更新TotalPrice和TotalPriceGST的字段。但是,当我使用以下代码执行此操作时,它会更新第一行,并且不允许我在后面的文本框中写入价格。请帮忙!

<div>
    <table cellspacing="0" cellpadding="4" id="ContentPlaceHolder1_gvQuotationItems" style="color:#333333;width:900px;border-collapse:collapse;float: left">
        <tr style="color:White;background-color:#F07323;font-weight:bold;">
            <th scope="col">Product Code</th>
            <th scope="col">Description</th>
            <th scope="col">Sap Pack</th>
            <th scope="col">Quantity</th>
            <th scope="col">UnitPrice</th>
            <th scope="col">Total Price</th>
            <th scope="col">Total Price with GST</th>
        </tr>
        <tr style="color:#333333;background-color:#F7F6F3;">
            <td style="width:160px;">BCR123A-1EA</td>
            <td style="width:250px;">23477, Reference ethanols (H, M, L) (for</td>
            <td style="width:30px;">1</td>
            <td style="width:60px;">12</td>
            <td>
                <input type="text" id="UnitPriceTxt" style="width:50px;" />
            </td>
            <td style="width:60px;"></td>
            <td style="width:60px;">
                <label id="TotalPriceGST"></label>
            </td>
        </tr>
        <tr style="color:#284775;background-color:White;">
            <td style="width:160px;">459-UP</td>
            <td style="width:250px;">459 bubbler</td>
            <td style="width:30px;">1</td>
            <td style="width:60px;">123</td>
            <td>
                <input type="text" id="UnitPriceTxt" style="width:50px;" />
            </td>
            <td style="width:60px;"></td>
            <td style="width:60px;">
                <label id="TotalPriceGST"></label>
            </td>
        </tr>
        <tr style="color:#333333;background-color:#F7F6F3;">
            <td style="width:160px;">567-UP</td>
            <td style="width:250px;">567 Unprepared Customer Bubbler Purchase</td>
            <td style="width:30px;">1</td>
            <td style="width:60px;">50</td>
            <td>
                <input type="text" id="UnitPriceTxt" style="width:50px;" />
            </td>
            <td style="width:60px;"></td>
            <td style="width:60px;">
                <label id="TotalPriceGST"></label>
            </td>
        </tr>
    </table>
</div>

这是我的剧本:

$(function () {
    $("#UnitPriceTxt").focusout(function () {
        var TextBoxtxt = $('#<%=gvQuotationItems.ClientID %>').find('input:text[id$="UnitPriceTxt"]').val();
        var TotalPriceLbl = $('#<%=gvQuotationItems.ClientID %>').find("#totalPrice");
        var TotalPriceGSTLbl = $('#<%=gvQuotationItems.ClientID %>').find("#TotalPriceGST");
        $("#<%=gvQuotationItems.ClientID %> tr").each(function () {
            if (!this.rowIndex) return;
            var Quantity = $(this).find("td:eq(3)").html();
            var UnitPrce = $(this).find('input:text[id$="UnitPriceTxt"]').val();
            var totalPrice = parseInt(Quantity) * parseInt(UnitPrce);
            var GST = (parseInt(Quantity) * 17) / 100;
            var TotalPriceGST;
            TotalPriceGST = totalPrice + GST;
            $(this).find("td:eq(5)").html('<label  id="totalPrice" style="font-size:small" >' + totalPrice + ".Rs" + '</label>');
            $(this).find("td:eq(6)").html('<label id="TotalPriceGST">' + TotalPriceGST + '</label>')
        })
    })
});

1 个答案:

答案 0 :(得分:0)

你想要的是$('#UnitPriceTxt').blur(function(){...});

$.blur()是您正在寻找的“焦点外出”功能。