我在一个页面上通过循环列出了几个表单,如下所示:(提取)
if(mysql_num_rows($r)>0):
while($row = mysql_fetch_assoc($r)): ?>
<form id="myForm" action="save_fb.php" method="post">
Title: <input type="text" name="fb_title" value="<?php echo $row['fb_title']; ?>" /><br>
<a href="javascript:;" class="save_fb" id="<?php echo $row['fb_id']; ?>"></a>
</form>
在我的ajax请求中,我做了类似的事情:
$.ajax({
type: "POST",
data: $("input:text[name=fb_titel]").val()+$(this).attr("id"),
url: "save_fb.php",
success: function(msg)
{
$("span#votes_count"+the_id).fadeOut();
$("span#votes_count"+the_id).html(msg);
$("span#votes_count"+the_id).fadeIn();
}
});
});
现在我得到的结果总是第一行,而不是链接被点击的行但是$(this)工作正常,但我不知道如何结合......任何人都知道数据线应该是什么样的?
感谢任何提示=)
答案 0 :(得分:0)
试试这个:
$.ajax({
type: "POST",
data: $(this).prev("input[name=fb_title]").val()+$(this).attr("id"),
url: "save_fb.php",
success: function(msg)
{
$("span#votes_count"+the_id).fadeOut().html(msg).fadeIn();
}
});
});
答案 1 :(得分:0)
更改脚本的第三行......
data: $(this).parent().find("input:text[name=fb_title]").val()+$(this).attr("id"),
您当前的脚本会找到任何<input name="fb_title">
的第一个实例。如果您使用此功能,则只能以与您点击的链接相同的格式找到<input name="fb_title">
。
答案 2 :(得分:0)
PHP / HTML:
mysql_num_rows($r)>0):
while($row = mysql_fetch_assoc($r)): ?>
<form id="myForm-<?php echo $row['fb_id']; ?>" action="save_fb.php" method="post">
Title: <input type="text" name="fb_title" value="<?php echo $row['fb_title']; ?>" /><br>
<a href="javascript:;" class="save_fb" id="<?php echo $row['fb_id']; ?>"></a>
</form>
jQuery:
var id = $(this).attr("id");
$.ajax({
type: "POST",
data: $("input:text[name=fb_titel]", "#myForm-" + id).val() + id,
url: "save_fb.php",
success: function(msg)
{
$("span#votes_count"+the_id).fadeOut();
$("span#votes_count"+the_id).html(msg);
$("span#votes_count"+the_id).fadeIn();
}
});
});