我有一个非常简单的结构,如下所示。我在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');
有没有人知道我正在试图解决这个问题。
答案 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)
$( “输入:复选框:检查”)。亲本()的父()找到( “选择”)