所以我有这个人名单:
#{list celibs}
<li class="listCelibs">
#{encart.moreInfoProfileSwitch
index:_,
owner:_,
index:_.id,
lang:'fr',
mainPhoto:_.getProfileImage(),
dateVision:_.getDateVision(),
age:_.getAge(),
taggedById:userSession,
fadeToggleId:'more_info_user_' + _.id /}
<a href="#more_info_user_${_.id}" class="ubeLightBox"><img width="263px" height="215px" src="${_.getProfileImage()}"></a>
<p class="name">${_.nickName} <span>${_.getAge()} &{'rdv.rdvProposition.profile.age_' + _.mySex.keyName}</span></p>
<a href="#more_info_user_${_.id}" class="ubeLightBox link1">&{'rdv.rdvProposition.profile.discover_' + sex}</a>
<p class="askInterest">Intéressé ?</p>
<button id="No">NON</button>
<button id="Yes">OUI</button>
</li>
#{/list}
它们是逐个显示的,我想在每次点击“否”或“是”时发出ajax请求。
$("#Yes, #No").click(function(){
$.ajax({
url: 'addLike',
data: {
id : '${_.id}'
}
});
});
问题是我只得到列表的最后一个ID。它永远不会改变。 我想在屏幕上显示当前人的id,以便将其发送到ajax请求。
答案 0 :(得分:1)
尝试此操作,将“是/否”按钮的id
更改为class
,并将input
隐藏为值=&#39;人员ID&#39;。
#{list celibs}
<li class="listCelibs">
#{encart.moreInfoProfileSwitch
index:_,
owner:_,
index:_.id,
lang:'fr',
mainPhoto:_.getProfileImage(),
dateVision:_.getDateVision(),
age:_.getAge(),
taggedById:userSession,
fadeToggleId:'more_info_user_' + _.id /}
<a href="#more_info_user_${_.id}" class="ubeLightBox"><img width="263px" height="215px" src="${_.getProfileImage()}"></a>
<p class="name">${_.nickName} <span>${_.getAge()} &{'rdv.rdvProposition.profile.age_' + _.mySex.keyName}</span></p>
<a href="#more_info_user_${_.id}" class="ubeLightBox link1">&{'rdv.rdvProposition.profile.discover_' + sex}</a>
<p class="askInterest">Intéressé ?</p>
<button class="No">NON</button>
<button class="Yes">OUI</button>
// put hidden input here
<input type="hidden" class="personId" value="${_.id}">
</li>
#{/list}
jQuery:点击“是/否”按钮
,使用以下查询调用ajax$(".Yes, .No").click(function(){
$.ajax({
url: 'addLike',
data: {
id : $(this).next('.personId').val();
}
});
});