$(document).keyup(function(e){
var idd = $(".hidd").val();// Here i can't get the correct value of "class hidd" and always get value 1
var sss = ".comment_tarea" + idd;
$tArea = $(sss);
alert(sss);
if ($tArea.is(":focus") && e.keyCode == 13) {
var t = $tArea.val();
}
});
$id1=0;
while(...){
$id1++;
<form >
<? $t =$id1; $comment_tarea = "comment_tarea".$t;
echo("comment");
echo($comment_tarea);
?>
<textarea class="<? echo $comment_tarea; ?>" name="tarea"></textarea>
<input type="hidden" class="hidd" value="<?php echo htmlspecialchars($id1); ?>" />
</form>
}
在Jquery函数中,类&#34; hidd&#34;的变量idd中始终存在值1。对于所有textarea,这意味着$ comment_tarea的所有类,例如&#34; comment_trea1&#34;,&#34; comment_trea2&#34;,&#34; comment_trea3&#34;,&#34; comment_trea4&#34;,.. ..... ans等等。 这里textarea输入值由$ id1改变,这是唯一的。 如何获得正确的idd值意味着获得idd = 1用于&#34; comment_trea1&#34 ;,得到idd = 2用于&#34; comment_trea2&#34 ;,得到idd = 3用于&#34; comment_trea3&#34;等等... 请帮助。
答案 0 :(得分:2)
.val()仅返回第一个匹配元素的值。
您需要做的是在每个匹配的元素上调用.val():
$(".hidd").each(function() {
alert($(this).val());
});
答案 1 :(得分:0)
您正在将val()
与选择器一起使用,它将始终返回零索引处的元素值。要获取one
索引处元素的值(如果存在),您可以使用$(".hidd").eq(1).val();
您最好将keyup
与文本区域绑定,而不是与文档绑定。当你在循环中生成表单时,每个循环迭代生成带有隐藏字段的textarea。您可以relate
隐藏字段enclosing
textarea。
$("textarea[name=tarea]").keyup(function(e){
var idd = $(this).closest('form').find('.hidd').val();
//your code
}