2011-02-07 168 views
1

鉴于一些标记,那里有一系列的在任意深度输入(复选框),我怎么能确定基于其价值,如果给定的输入检查:jQuery的复选框选择问题

<ul id="root_node"> 
    ... 
    <li> 
    ... 
    <span> 
     <input value="val_1" ... /> 
     ... 
     <input value="val_2" ... /> 
     ... 

那么,是什么我需要的是:给定root_node和输入value(例如val_2),我想确定是否选中相应的复选框(位于root_node下的某处)。

回答

1

你可以这样做:

var context = "root_node"; 
var value = "val_2"; 

var checked = $("input:checkbox[value='" + value + "']", 
    $("#" + context)).attr("checked"); 

如果上下文永远不会改变,可以缩短到上述情况:

var checked = $("#root_node input:checkbox[value='" + value + "']") 
    .attr("checked"); 
2

您可以根据属性jQuery的选择:http://api.jquery.com/attribute-equals-selector和:检查'pseudo class'

$('input[value="val_1"]:checked') 

所以你可以这样做:

if $('input[value="val_1"]:checked').val() !== undefined) { 
    // do something 
} 

希望这有助于,

马丁