找到选中复选框的所有DropDown

时间:2012-04-19 12:11:14

标签: jquery asp.net html

我有一个非常简单的结构,如下所示。我在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 个答案:

答案 0 :(得分:2)

对下拉菜单和复选框使用类选择器以获得更清晰的选择器

$(".checkboxclass:checked").closet('tr').find('.dropdownclass')

答案 1 :(得分:0)

试试这个:

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

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

});

如果选中复选框,那么你得到长度= 1,你得到你的下拉菜单$(这个)。

答案 2 :(得分:0)

如果您将其中一个包含元素赋予类,则可能更容易实现。

e.g。

<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')

抓住结构中的已检查输入。

你也可以给CheckBox一个类,但是我很确定在渲染一个复选框时,ASP .NET将它包装在一个范围内,所以: -

$('input.findme:checked')可能不起作用,因为该类应用于范围,而不是输入。

答案 3 :(得分:0)

  

$( “输入:复选框:检查”)。亲本()的父()找到( “选择”)