ヘッダーチェックボックスがあり、各行にチェックボックスがあるグリッドビューがあります。ヘッダチェックボックスをクリックすると、子チェックボックスがチェックされ、私はすべての3番目のセルの値が行をチェックし取得する必要があります..私はJavascriptの機能以下のようにやっている。この目的のためヘッダチェックボックスがチェックされているときに、チェックされた各行に対して特定のセル値を取得する
:(より良く理解するために)
function toggleSelection(source) {
$("#MainContent_gvCG input[id*='chkCert']").each(function (index) {
if(source.checked) {
if (this.checked) {
////Here i need to access the third cell values of all rows
}
}
});
}
サンプルテーブル形式:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<table border="1">
<tr>
<th>CFS Name</th>
<th>Amount</th>
<th>TCFSA</th>
<th>CODEX</th>
<th><input type="checkbox" id="chkHeader"/></th>
</tr>
<tr>
<td>TRANSWORLD GLS INDIA</td>
<td>Abc</td>
<td>cg</td>
<td>de</td>
<td><input type="checkbox" class="chkCert"></td>
</tr>
................
...............
..............
</table>
、これが私のGridViewのです:
<asp:GridView ID="gvPRCertInfo" runat="server" AutoGenerateColumns="False" GridLines="None"
OnRowDataBound="gvPRCertInfo_RowDataBound"
CssClass="data responsive">
<Columns>
<asp:TemplateField HeaderText="Select" SortExpression="">
<HeaderTemplate>
<asp:CheckBox ID="chkboxSelectAll" runat="server" AutoPostBack="true" onclick="toggleSelection(this);" OnCheckedChanged="chkboxSelectAll_CheckedChanged"/>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkCert" AutoPostBack="true" OnCheckedChanged="chkCert_CheckedChanged" runat="server" />
<input type="hidden" id="hdnCertId" runat="server" value='<%# DataBinder.Eval(Container.DataItem, "CertId") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="CertificateID" HeaderText="Certificate ID" HeaderStyle-HorizontalAlign="Center" />
....................
.....................
..............
</Columns>
</asp:GridView>
いずれかがこれ以外の任意のより良い解決策も歓迎..すべてのチェックを行の第3のセル値にアクセスする方法を、この上の任意のアイデアを提案してくださいでした。
修正コード:
function toggleSelection(source) {
$('#<%= gvPRCertInfo.ClientID %> input[id*="chkCert"]').each(function() {
if (source.checked) {
alert("source checked");
if (this.checked) {
alert("child chk");
var allVlues = $(this).closest('tr').children('td:eq(4)').html();
alert(allVlues);
}
}
});
}
私はこのアラート警告( "子CHK")ができ昇給はないです。のいずれかをお手伝いください。
'$(この).prev()の変化に気づく前のページ();'第三TDを選択します。 '.text()'を使って内容を取得します。 –
あなたのコンソールで遊んでみてください。 'console.log(this)'とは何ですか?あなたの関数の最初の行に 'window.AA = this;'のようなことをすると、あなたのコンソールの 'AA'(最後の関数呼び出しの' this'です)にアクセスして、あなたがどのような状態であるかを見ることができますそうではないと仮定している。 – hunteke
'$("#MainContent_gvCG input [id * = 'chkCert']:チェックされた)) 'を使用するとチェックされたチェックボックスだけがループしますので、' if(this.checked) 'を使用する必要はありません。 –