2011-02-07 141 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 
} 

希望這有助於,

馬丁