2011-07-22 29 views
0

我正在尝试编写一些Jquery代码,该代码将获取类“in”中下一个文本框的值。我在这里的代码不工作,值始终未定义。我认为我正在使用next()函数,但我不确定,有没有人有任何输入?使用jquery中的next()函数获取下一个文本

<!DOCTYPE html> 
<html> 

<body> 
<input type="text" class="mm" /> 
<br> 
<input type="text" class="in" /> 

$(document).ready(function() { 
    $("input").focus(function() { 

     var value = $(this).next(".in").val(); 
     if (value) { 
      alert(value); 
     } 

    }); 
}); 

    </script> 
</body> 
</html> 
+0

我们需要查看相应的HTML标记,以了解您所做的是正确的还是问题所在。 – jfriend00

回答

0

您提供HTML的例子实际上可行。你可以在这里看到它:http://jsfiddle.net/jfriend00/RGsDq/。根据你的评论,这听起来像你想要第一个兄弟姐妹拥有类“in”,无论是否是下一个兄弟姐妹。 .next()只检查下一个兄弟。如果你想有类“中”,即使它不是第二天的兄弟姐妹,你可以做任何的这些第一兄弟:

$(this).nextAll(".in").first().val();   // next sibling with class ".in" 
$(this).parent().find(".in").first().val();  // next child of parent with class ".in" 

你可以看到第一个的这两个选项在这里工作:http://jsfiddle.net/jfriend00/4VwAN/

0

你需要发布你的html。下一个获取下一个兄弟,所以它非常依赖于html结构 - 它可能只是需要添加一个父对象来获得所有文本框的父对象。

+0

完整的html页面已发布。 –

0

$(this).next(".in")只有在下一个元素具有“in”类时才返回值,而不是查看具有“in”类的第一个文本框的所有兄弟。 尝试$(this).nextAll(".in:eq(0)")

+0

我需要它只用类“in”寻找第一个下一个类 –

+0

我相信这就是':eq(0)'选择器的作用。 – Tryster

相关问题