jquery问题复选框,隐藏它旁边的输入

时间:2013-01-05 22:39:59

标签: jquery

我有很多复选框,每一个我都有一个输入字段 我想当我点击每个复选框..输入下一个消失!所以我做了这个..它对我来说看起来合乎逻辑,但它是一团糟

$(":checkbox").click(function() {
    $(":checkbox").next().hide();
});

但它隐藏了文档的所有输入 所以我尝试了这个

this.next().hide();

但它不起作用! 我在staid尝试了这个!

for(i=0;i<$(":checkbox").length;i++){
  $(":checkbox").eq(i).click(function() {
      $(":checkbox").eq(i).next().hide();
   });
}

仍然无法正常工作!我的逻辑出了什么问题?

3 个答案:

答案 0 :(得分:3)

尝试:

$('input[type=checkbox]').change(function() {
  $(this).next().toggle();
});

答案 1 :(得分:1)

应该是:

$(":checkbox").click(function() {
    $(this).next().hide();
});

this$(this)完全不同,我建议您阅读jQuery文档以获取更多信息,因为它非常有趣......

答案 2 :(得分:1)

您想要用作复选框选择器的是 -

$('input:checkbox');

其次,在单击处理程序的回调中,您可以使用$(this)关键字来访问创建事件的特定元素。

$("input:checkbox").on('click',function() {
  $(this).next().hide();
});

我喜欢用我的选择器来提高可读性,所以作为最后的建议,为什么不给next()函数选择一个选择器并指定你要查找下一个input元件?

  $(this).next('input').hide();