我的PHP页面中有一个while循环,在其中查看以下内容...
print $divLeft.strip_tags($row->twitterUser)."?size=normal\"/><br \/>".$row->twitterUser.$divRight."<a href='javascript:void(0);' id='vote_$row->id' class='getPoint'>Get " .$row->coff. "<input type='hidden' value='$row->coff' id='credoff'/> credit(s)</a><br /></div>$clearDiv</div></div>";
我在隐藏字段中设置了一个值,然后在我的JavaScript中调用该值...
{
var theid = $(this).attr("id");
var onlyID = theid.split("_");
var onlyID = onlyID[1];
credoff = $("#credoff").val();
$.ajax({
url: 'do.php',
type: 'POST',
data: "userID=" + onlyID,
success: function(data) {
if(data != "success1" && data != "success5") {
$("#" + theid).text(data);
}else{
$("#thediv_" + onlyID).fadeOut("slow");
$('#creditsBalance').fadeOut("slow");
newbalance = parseInt($('#creditsBalance').text());
if(data != "success5") {
alert('Credits offered = '+credoff);
唯一的是在我的JavaScript中,它抓住了页面上最高的“ credoff”变量值,而不是单击的那个,这有意义吗?
最佳答案
首先,$('#credoff')是一个id ...,并且ID对于页面是唯一的。其次,如果有多个(并通过CSS选择器正确构建),则您调用$('#credoff')的方式只会为您提供第一个的值,因为您没有将其与事件目标。
由于在结构上看起来像输入是的子代(也很奇怪,顺便说一句),因此您需要使用如下选择器来获取credOff:
$('.getPoint').click(function(){
// properly associated with the event target.
var credOff = $(this).find('input').val();
// etc.
}