将文本框文本模式设置为无法在Javascript中工作的数字

时间:2016-03-05 18:58:08

标签: javascript jquery asp.net

以下Javascript代码,当我将asp网格视图文本框设置为TextMode="Number"

时,不会运行

使用Javascript:

$(document).ready(function() {
    $("[id*=gridpur]input[type=text][id*=txt]").on('keyup mouseup', (function(e) {
        var unitprice = $(e.target).closest('tr').find("input[type=text][id*=txtUnitprice]").val();
        var quantity = $(e.target).closest('tr').find("input[type=text][id*=txtQuantity]").val();
        var total = unitprice * quantity;
        $(e.target).closest('tr').find("[id*=lblTotal]").text(total);
    }));
});

标记:

<asp:GridView ID="gridpur" CssClass="table table-bordered text-nowrap" runat="server">
    <Columns>
        <asp:BoundField DataField="Product_Name" HeaderText="Product Name" SortExpression="Product_Name" />
        <asp:TemplateField HeaderText="Unit Price" SortExpression="UnitPrice">
            <EditItemTemplate>
                <asp:TextBox ID="txtUnitprice" CssClass="form-control" runat="server"></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:TextBox ID="txtUnitprice" min="0" TextMode="Number" step="any" Text='<%# Bind("UnitPrice") %>' CssClass="form-control" placeholder="Enter Unit Price" runat="server"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Quantity" SortExpression="UnitPrice">
            <EditItemTemplate>
                <asp:TextBox ID="txtQuantity" CssClass="form-control" min="0" runat="server"></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:TextBox ID="txtQuantity" min="0" TextMode="Number" step="any" CssClass="form-control" placeholder="Enter Quantity" runat="server"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Total Amount" SortExpression="UnitPrice">
            <EditItemTemplate>
                <asp:Label ID="lblTotal" runat="server" Text="0"></asp:Label>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="lblTotal" runat="server" Text="0"></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

1 个答案:

答案 0 :(得分:0)

根据API,textmode用于将控件的TEXT模式设置为单行多行密码。在HTML中,TEXT框始终包含TEXT,但可以配置为单行文本框,多行文本框或密码文本框。在.NET中,textmode允许您确定服务器在响应客户端时应发送的HTML文本框的变体。

https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.textmode(v=vs.110).aspx