0
<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
4

2 に答える 2

1

値が「RENT READY」のドロップダウンを選択する有効な方法ではないと思います。

以下のようにすればいいのですが、

$('#GridView1 select').filter(function () {
    return ($(this).val() == 'RENT READY');
}) 

tel最も近い検索を取得して検索trを実行するには..または.next .next選択した親で実行できます。

$('#GridView1 select').filter(function () {
    return ($(this).val() == 'RENT READY');
}).closest('tr').find('input[type=tel]')
于 2012-06-08T14:37:28.480 に答える
0

選択内で選択されているオプションを取得する必要があります。このような:

$('#GridView1 select#GridViewStatus option[value="RENT READY"]:selected"').closest('input[type="tel"]')

最後に追加する.size()と、見つからない場合は 0、見つかった場合は >0 になります。

于 2012-06-08T14:47:02.957 に答える