Jquery 函数不适用于 gridview 中动态添加的行

Jquery function is not working for dynamically added rows in gridview

我有一个带有动态添加行的 gridview。当文本框更改时,我需要使用 jquery 进行一些计算。下面是我的 jquery 函数。但它没有触发。有没有其他方法可以找到控件。请帮助

   <script>
    $(function () {
        $('#<%=gvConsumableUsageAdd.ClientID %>').find('input:text[id$="txtQuantity"]').keyup(function () {
            debugger;
            var price = $('#<%=gvConsumableUsageAdd.ClientID %>').find('span[id$="lblUnitPrice"]').text();
            var qty = $('#<%=gvConsumableUsageAdd.ClientID %>').find('input:text[id$="txtQuantity"]').val();
            var total = parseFloat(price * qty);
            $('#<%=gvConsumableUsageAdd.ClientID %>').find('span[id$="lbtTotalAmount"]').text(total.toFixed(2));
        });
    });
</script>

提前致谢

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">

    $("[id*=txtQuantity]").live("keyup", function () {            
        if (!jQuery.trim($(this).val()) == '') {
            if (!isNaN(parseFloat($(this).val()))) {
                var row = $(this).closest("tr");
                var Quantity = parseFloat($(this).val());
                var unitPrice = parseFloat($("[id*=lblUnitPrice]", row).html());
                var Total = Quantity * unitPrice;
                $("[id*=lbtTotalAmount]", row).html(Total);
            }
        }
    }
 );
</script>

我找到了使用上述功能的解决方案。 谢谢

由于您已经用上面给出的答案解决了您的问题,但这里有一个改进,您使用了 .live() 方法,该方法在 jQuery 最新版本中已弃用。

而不是 .live() 使用 .on() 附加事件处理程序。 改进后的代码看起来像

$('#<%=gvConsumableUsageAdd.ClientID %>').on('input', '[id*=txtQuantity]', function () {
    var self = $(this);
    if (!jQuery.trim(self.val()) == '') {
        if (!isNaN(parseFloat(self.val()))) {
            var row = self.closest("tr");
            var Quantity = parseFloat(self.val());
            var unitPrice = parseFloat($("[id*=lblUnitPrice]", row).html());
            var Total = Quantity * unitPrice;
            $("[id*=lbtTotalAmount]", row).html(Total);
        }
    }
});