jquery选择器问题

jquery选择器问题,jquery,selector,Jquery,Selector,我需要一个jquery选择器,它允许我 查找输入选择/选项下拉列表 -其中,SELECT的名称为ACTC,并且 -所选值为ABC 我认为它是这样的: myTmpl.find("input[name='ACTC']").val('ABC'); 我真的看不出你在做什么。为什么不直接获取名为“ACTC”的选择框的当前值并测试它是否为“ABC” var selectBox = $('select[name="ACTC"]'); var selectValue = $(selectBox).val();

我需要一个jquery选择器,它允许我

查找输入选择/选项下拉列表 -其中,SELECT的名称为ACTC,并且 -所选值为ABC

我认为它是这样的:

myTmpl.find("input[name='ACTC']").val('ABC');

我真的看不出你在做什么。为什么不直接获取名为“ACTC”的选择框的当前值并测试它是否为“ABC”

var selectBox = $('select[name="ACTC"]');
var selectValue = $(selectBox).val();

if (selectedValue == 'ABC'){
    // use the 'selectBox' variable as it references your <select> element
}
else{
    // do something else or nothing at all
}
如果要查看是否选择了值为ABC的选项,可以这样检查:

// if the following line of code > 0 then the option is selected
$('select[name="ACTC"] option[value="ABC"]:selected').length;
如果您确实想将特定选项标记为选中,则可以执行以下操作:

$('select[name="ACTC"] option[value="ABC"]').attr({selected:true});
如果您只想找到具有选定值ABC的框,请注意,只有在您有多个同名的选择框时,才有必要这样做:

$('select[name="ACTC"] option[value="ABC"]:selected').closest('select');
不能这样使用,也不能在值周围使用简单的选择器,因为实际值属于元素

但是,您可以组合和:


您可以在中进行测试。

如果当前选择的值为“ABC”,则将从类名为“ACTC”的Select/选项中获取当前选择的值

$(document).ready(function() {
$("input").click(function() {
    if ( $('.ACTC option:selected').val() == 'ABC') {
        alert("ABC Selected");
    }
    else
    {
        alert("ABC not select");
    }
});
});

唯一的“问题”是它选择了选项,而不是选择。你需要像Frédéric这样的:has选择器。我想这也行得通:我无法想象它比:has方法快,但我认为两者的区别不会明显。
var select = myTmpl.find("select[name='ACTC']:has(option[value='ABC']:selected)");
$(document).ready(function() {
$("input").click(function() {
    if ( $('.ACTC option:selected').val() == 'ABC') {
        alert("ABC Selected");
    }
    else
    {
        alert("ABC not select");
    }
});
});
var select = $('select[name="ACTC"]').filter(function(e) { return e.value == 'ABC'; })