<asp:GridView ID="GridView1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList></asp:DropDownList>
<input type="tel" id="contract">
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label><asp:Label>
<asp:Label><asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<input type="tel" id="Hours">
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
GridView のテンプレート フィールドを検証する簡単な方法として JQuery を使用しようとしています。たとえば、DropDownList の SelectedValue = RENT READY の場合、時間の入力を空白にすることはできません。したがって、JQuery を使用して、対応する Hours 入力 = 空白の RENT READY の値を持つ選択に絞り込むことができるすべての回数を取得したいと考えています。私はもう試した:
$("#GridView1 select[value=RENT READY]").find("input[type=tel]").eq(1)
と
$("#GridView1 select[value=RENT READY]").next("input[type=tel]").next("input[type=tel]")
と
$("#GridView1 select[value=RENT READY]").next("input[type=tel value=''])
ただし、常に undefined を返します。選択部分は問題なく動作します。RENT READY の値を持つ select を見つけるのに問題はありません。これは、機能しない空白の値を使用して 2 ドア下の入力相対値を選択するだけにさらに絞り込もうとする 2 番目の作品です。
編集:最終コード
$('#GridView1 select').filter(function () {
return ($(this).val() == 'RENT READY');
}).closest('tr').find('input[type=tel]').filter(function () {
return ($(this).val() == "" && $(this).attr("id") == "Hours");
}).length