jquery选择器问题

时间:2011-08-15 11:36:36

标签: jquery selector

我需要一个允许我

的jquery选择器

查找输入(选择/选项)下拉列表   - SELECT的名称是ACTC和   - 所选值为ABC

我认为它类似于:

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

4 个答案:

答案 0 :(得分:2)

我真的没有看到你正在尝试做什么的应用程序。为什么不直接获取名为'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
}

<option>标记的选择器为:

$('select[name="ACTC"] option[value="ABC"]');

如果您想查看是否选择了值为“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>框(请注意,只有当您有多个具有相同名称的选择框时才需要这样做):

$('select[name="ACTC"] option[value="ABC"]:selected').closest('select');

答案 1 :(得分:1)

您无法以val()方式使用attribute equals,也无法在value周围使用简单的:has()选择器,因为实际值属于<option>元素。

但是,您可以合并:selectedthis fiddle

var select = myTmpl.find("select[name='ACTC']:has(option[value='ABC']:selected)");

您可以在{{3}}中进行测试。

答案 2 :(得分:1)

如果值为'ABC',这将从具有类名“ACTC”的Select /选项中获取当前选定的值

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

答案 3 :(得分:1)

var select = $('select[name="ACTC"]').filter(function(e) { return e.value == 'ABC'; })