我正在建立一个评论系统,每个评论textarea都有一个独特的类。 我的代码 -
$(".ccoomm").click(function() {
var pid = $(this).attr("id");
var tt = $("textarea ."+pid).val();
var email = $("#hidden").val();
var data = "pid=" + pid + "&text=" + tt + "&email=" + email;
$("#flash").show();
$("#flash").fadeIn(500).html('<img src="wamp.gif" /> Loading...');
$.ajax({
type: "POST",
url: "comments.php",
data: data,
cache: false,
success: function(html) {
$(".coments"+pid).append(html);
$("#flash").fadeOut(100);
$("#tt").val("");
$(".comments"+pid).slideToggle(100);
$(this).toggleClass("active");
}
});
});
我无法获得textarea值....它说“未定义”
html / php -
echo <li><textarea cols='20' rows='1' class='tt' id='".$comid."' placeholder='Comment..'/></textarea><input type='submit' value='Comment' id='ccoomm' class='".$comid."' /></li>";
echo "</ul>";
答案 0 :(得分:0)
我认为你在这一行上放了一个额外的空格(这意味着获得属于textarea后代的特定类的所有元素)
var tt = $("textarea ."+pid).val();
应该是(这意味着选择具有该特定类的所有textarea)
var tt = $("textarea."+pid).val();
答案 1 :(得分:0)
var pid = $(this).attr("id");
您正在获取您点击的元素的ID
var tt = $("textarea ."+pid).val();
您正在尝试使用您作为课程选择的ID
答案 2 :(得分:0)
不确定,但您希望在价值选择中id
之后添加textarea
吗?
现在,您似乎在选择class
。
var pid = $(this).attr("id");
var tt = $("textarea ."+pid).val();
如果您希望id
将第二行更改为
var tt = $("textarea#"+pid).val();
修改强>
查看编辑中提供的HTML,可以将行更改为
var tt = $("textarea.tt").val();
答案 3 :(得分:0)
我可以看到,你想要切换你点击的元素的类。
在函数$ .Ajax中,这并不是指你在click函数中单击的元素,你应该将它赋给变量并仅引用该变量。
echo <li><textarea cols='20' rows='1' class='tt' id='".$comid."' placeholder='Comment..'/></textarea><input type='submit' value='Comment' id='ccoomm' class='".$comid."' /></li>";
echo "</ul>";
$(".ccoomm").click(function() {
var self = this;
var pid = $(self).attr("class");
var tt = $("textarea#"+pid).val();
var email = $("#hidden").val();
var data = "pid=" + pid + "&text=" + tt + "&email=" + email;
$("#flash").show();
$("#flash").fadeIn(500).html('<img src="wamp.gif" /> Loading...');
$.ajax({
type: "POST",
url: "comments.php",
data: data,
cache: false,
success: function(html) {
$(".coments"+pid).append(html);
$("#flash").fadeOut(100);
$( tt ).val("");
$(".comments"+pid).slideToggle(100);
$(self).toggleClass("active");
}
});
});