我有gridview行复选框。和相关的复选框也有文本框。如果我单击任何复选框,则相关文本框的值应为和。
<asp:GridView ID="GridView1" runat="server" CssClass="table table-bordered" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField ItemStyle-Width="30">
<ItemTemplate>
<asp:CheckBox ID="checkAll" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<%--<asp:TemplateField HeaderText="Select" ItemStyle-Width="50" ItemStyle-Height="50">
<ItemTemplate>
<asp:CheckBox ID="chkSelect" ToolTip='<%# Eval("id_form") %>' runat="server" OnCheckedChanged="chkSelect_CheckedChanged" AutoPostBack="true" />
</ItemTemplate>
</asp:TemplateField>--%>
<asp:TemplateField HeaderText="Value1">
<ItemTemplate>
<asp:TextBox ID="txtvalue1" ClientIDMode="Static" runat="server" Width="80" Text='<%#Eval("Value1") %>' CssClass="fro-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value2">
<ItemTemplate>
<asp:TextBox ID="txtvalue2" ClientIDMode="Static" runat="server" Width="80" Text='<%#Eval("Value2") %>' CssClass="fro-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value3">
<ItemTemplate>
<asp:TextBox ID="txtvalue3" ClientIDMode="Static" runat="server" Width="80" Text='<%#Eval("Value3") %>' CssClass="fro-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value4">
<ItemTemplate>
<asp:TextBox ID="txtvalue4" ClientIDMode="Static" runat="server" Width="80" Text='<%#Eval("Value4") %>' CssClass="fro-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
当我单击带有 checkAll 的复选框ID时,则应运行下面的jquery代码。与此相关的复选框也有文本框。如果我单击任何复选框,则相关文本框的值应为和。
<script>
$(document).ready(function() {
debugger;
$('input[type="checkbox"]').click(function() {
if ($(this).prop("checked") == true) {
Calculation();
} else if ($(this).prop("checked") == false) {
alert("Checkbox is unchecked.");
}
});
});
function Calculation() {
var grid = document.getElementById("<%= GridView1.ClientID%>");
for (var i = 0; i < grid.rows.length; i++) {
var txtvalue1 = $("input[id*=txtvalue1]")
if (txtvalue1[i].value != '') {
alert(txtvalue1[i].value);
}
}
}
</script>
当我单击复选框时,它将提供所有文本框的值。但是只需要复选框的选中值,然后选中的值应该是总和。
答案 0 :(得分:0)
使用.is(':checked')方法代替.prop('checked')方法。前者是确定复选框的“已检查”状态的最佳方法。