私はasp.netでグリッドビューを持っていますフィールドの1つは、グリッドビュー内の隠しフィールドです:
<asp:TemplateField>
<ItemTemplate>
<input type="hidden" value="0" id="hdnIsChanged" runat="server" />
</ItemTemplate>
</asp:TemplateField>
グリッドビュー内にもradiobuttonlistがあり、jqueryクリックイベントが機能しています...これがそのイベントです:
$("#MainContent_gvLineItems input[id*='rbAnswer']").click(function () {
var parentRow = $(this).parents('tr').eq(1) //used to get the row at index 1, parents('tr').length prints 3.
//tr around the checkbox is index 2
//tr around row is index 1
//tr around header is index 0
//so we want to get a reference to index=1
var firstCell = parentRow.find('td:eq(0)'); //find the first cell
var p = $(this).parents("div[id='dMainAnswer']").find(".Answer:first"); //used to find the panel
var val = $(this).val();
switch (val) //check the value
{
case 'No':
firstCell.css('background-color', 'red');
p.show();
break;
case 'Yes':
firstCell.css('background-color', 'green');
p.hide();
break;
case 'N/A':
firstCell.css('background-color', 'gray');
p.hide();
break;
default:
firstCell.css('background-color', 'transparent');
p.show();
break;
}
});
これで問題ありませんが、このクリック イベント内で隠しフィールドにアクセスしたいのですが、hdnIsChanged
どうすれば参照できますか? 私は試した:
alert($('input[id$=hdnAnswered').val());
しかし、未定義と言い続けています...このクリックイベントでアクセスし、jqueryを使用して値を設定できるようにしたいです。すべての行に表示されるように、グリッドビュー内にあることを覚えておいてください...
どんな助けでも大歓迎です。