多个输入选择:一个jquery函数中的无线电元素

时间:2012-03-05 10:38:37

标签: jquery asp.net jquery-selectors

我有四个RadioButtonList,我想从中选择输入:radio。我使用这段代码:

$("#<%=rblTipoviMKR.ClientID%> input:radio,#<%=rblTipoviMKD.ClientID%> input:radio,#<%=rblTipoviMKU.ClientID%> input:radio,#<%=rblTipoviMKV.ClientID%> input:radio").change(function (event) {
        checkTipRadio($(this).val());
    });

我的问题是,我可以,以及如何,首先设置并在选择器结束时输入:所有四个RadioLists的无线电?像这样:

$("#<%=rblTipoviMKR.ClientID%>,#<%=rblTipoviMKD.ClientID%>,#<%=rblTipoviMKU.ClientID%> ,#<%=rblTipoviMKV.ClientID%> input:radio").change(function (event) {
        checkTipRadio($(this).val());
    });

但是这将只选择radio:输入rblTipoviMKV,

2 个答案:

答案 0 :(得分:2)

您可以将find()用于此目的:

$("#<%=rblTipoviMKR.ClientID%>, #<%=rblTipoviMKD.ClientID%>, "
    + "#<%=rblTipoviMKU.ClientID%>, #<%=rblTipoviMKV.ClientID%>")
.find("input:radio").change(function() {
    checkTipRadio($(this).val());
});

但是,更具可读性的解决方案是使用特定的rblTipovi属性装饰您的四个class元素并改为匹配该类:

$(".yourRblClass input:radio").change(function() {
    checkTipRadio($(this).val());
});

答案 1 :(得分:0)

首先选择所有列表,然后使用find过滤它们:

$("#<%=rblTipoviMKR.ClientID%>,#<%=rblTipoviMKD.ClientID%>,#<%=rblTipoviMKU.ClientID%> ,#<%=rblTipoviMKV.ClientID%>").find('input:radio').change(function (event) {
    checkTipRadio($(this).val());
});