0

以下に示すように、私は非常に単純な構造を持っています。私がjqueryでやろうとしているのは、チェックボックスがチェックされているすべてのドロップダウンを見つけることです。

  <table>
    <tr>
     <td> <asp:DropDownList ID="ddDurationHours" runat="server"/> <td>
     <td>Data<td>
     <td>Data<td>
     <td> <asp:CheckBox runat="server" ID="chkDelete"/> </td>
     <td>Data<td>
    </tr>
    <tr>
     <td><asp:DropDownList ID="ddDurationHours" runat="server"/> </td>
     <td>Data<td>
     <td>Data<td>
     <td>  <asp:CheckBox runat="server" ID="chkDelete"/> </td>
     <td>Data<td>
    </tr>
    </table>

私はいくつかのことを試しましたが、すべてを覚えることはできませんが、私の最新の試みは次のとおりです。

var hoursDropdowns = jQuery('select[name*="ddDurationHours"]').closest('tr').find('td:first input[name*="chkDelete"]:checked:enabled');

私はこれを解決しようとして頭を叩いているので、誰かが手がかりを得ましたか.

4

4 に答える 4

2

ドロップダウンとチェックボックスの両方にクラスセレクターを使用して、よりクリーンなセレクターを作成します

$(".checkboxclass:checked").closet('tr').find('.dropdownclass')
于 2012-04-19T12:26:59.460 に答える
0

これを試して:

$('select[name*=ddDurationHours]').each(function(){

var len = $(this).parent().parent().find('input[name*=chkDelete]:checked').length;
if(len == 1)
{
    var drd = $(this);
}

});

チェックボックスがオンの場合、長さ= 1になり、ドロップダウンは$(this)になります。

于 2012-04-19T12:27:06.497 に答える
0

これは、含まれている要素の1つにクラスを指定すると、より簡単に達成できる可能性があります。

例えば

<tr class="findme">
 <td> <asp:DropDownList ID="ddDurationHours" runat="server"/> <td>
 <td>Data<td>
 <td>Data<td>
 <td> <asp:CheckBox runat="server" ID="chkDelete"/> </td>
 <td>Data<td>
</tr>

次に、以下を使用します:-

$('.findme input:checked')

構造内のチェック済み入力を取得します。

チェックボックスにクラスを与えることもできますが、チェックボックスをレンダリングするとき、ASP .NETはそれをスパンでラップするので、次のようになります。-

$('input.findme:checked')クラスは入力ではなくスパンに適用されるため、機能しない可能性があります。

于 2012-04-19T12:27:25.670 に答える
0

$("input:checkbox:checked").parent().parent().find("select")

于 2012-04-19T12:33:41.220 に答える