jquery选择器,用于获取所选的特定值的所有选择下拉列表

时间:2011-03-01 06:00:44

标签: jquery html jquery-selectors

如何使用jQuery选择器选择所有选择框,其中选择的值为“A1”?

样品选择框:

<select name="accesslevel">
<option value="A1">A1 Access</option>
<option value="A2">A2 Access</option>
</select>

我必须使用选择器执行以下操作:

.parent().nextAll('td[id^="A1Access"]').show();
.parent().nextAll('td[id^="A2Access"]').hide();

有人可以帮忙吗?

6 个答案:

答案 0 :(得分:42)

如前所述,Prakash的解决方案是最接近的,但它选择的是选项值而不是选择框本身。这可以通过:has选择器修复。

$('select:has(option[value="A1"]:selected)')

答案 1 :(得分:19)

尝试:

$('select option[value="A1"]:selected')

答案 2 :(得分:3)

$('select').filter(
function(){   
   if($(this).val()=="A1")
        return true;
    else
        return false;
}
)

您可以在此之后添加您的功能

$('select').filter(
function(){   
   if($(this).val()=="A1")
        return true;
    else
        return false;
}
).parent().nextAll('td[id^="A1Access"]').show();

答案 3 :(得分:2)

这是类似于您的原始规范,但只是修改了一下以与我的选择器一起使用。

$('.container').find('option[value=A1]').filter(':selected').parent('select').show();

这里是简化版:

$('option[value=A1]:selected').parent('select');

答案 4 :(得分:0)

只需在所有html正文中选择选项

alert($('option[value=A1]').html());

select

alert($('select[name=accesslevel]').find('option[value=A1]').html());

但警报仅适用于一个元素。

如果你有选择

$('option[value=A1]').parent().remove(); 

它将选择父项并将其删除。

答案 5 :(得分:0)

制作这样的身份..

<select name="accesslevel" id="myselector">
<option value="A1">A1 Access</option>
<option value="A2">A2 Access</option>
</select>

现在用该ID选择它。

$("select#myselector option:selected").each(function () 
{
     alert($(this).text() + " ");
});