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

How to get an object attribute from a tag list to a javascript variable?

本文关键字:属性 取对象 javascript 变量 获取 标签 列表      更新时间:2023-09-26

我有这个人的列表:

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

试试这个,将是/否按钮的id更改为class,并将input隐藏为value= 'person id'

#{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();
           }
    });
});