如何从标记列表获取对象属性到javascript变量?

时间:2014-07-08 11:37:03

标签: java javascript html ajax playframework

所以我有这个人名单:

#{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请求。

1 个答案:

答案 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();
           }
    });
});