如何使用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();
有人可以帮忙吗?
答案 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() + " ");
});