jQuery复选框选择器问题

时间:2011-02-07 14:46:18

标签: javascript jquery dom checkbox

给定一些标记,其中有任意深度的一系列输入(复选框),如何根据其值确定给定输入:

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

所以,我需要的是:给定root_node和输入value(例如val_2),我想确定是否检查了相应的复选框(在root_node下面的某处)。 / p>

2 个答案:

答案 0 :(得分:2)

您可以根据属性进行jQuery选择:http://api.jquery.com/attribute-equals-selector和:checked'pseud class'

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

所以你可以这样做:

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

希望得到这个帮助,

马丁

答案 1 :(得分: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");