0

我有以下html

<li class="selector">
     <a>
        <input type="checkbox" value="test" />
    </a>
</li>

我如何获得复选框的值。我有以下 jquery 点击事件。

$('.selector').on('click', function() {
        var vals = $(this).children('input').val();
        alert(vals);    #showing as undefined
    });
4

2 回答 2

1

尝试改用find方法:

var vals = $(this).find('input').val();

如果您将有超过 1 个输入,您将需要过滤要获取的内容,例如

var vals = $(this).find('input').eq(0).val();

只会得到第一个输入值

于 2013-11-01T18:24:33.057 回答
1

利用 。find()而不是.children()

 var vals = $(this).find('input[type="checkbox"]').val();
  • find()- 搜索匹配元素的孩子、孙子、曾孙……任何级别。
  • children()- 仅搜索匹配元素的子元素(单层向下)

根据您的 HTML,checkboxgrandchild

于 2013-11-01T18:25:01.990 回答