0

我有以下问题:

var xmlhttp = new getXMLObject();   //xmlhttp holds the ajax object

$(function() {
$('a.popper').hover(function(e) {


 if(xmlhttp) {

xmlhttp.open("GET","DokterWeek_KlantoverzichtServlet?" + $("a.popper").prop("href").split("?")[1],true);//gettime will be the servlet name
xmlhttp.onreadystatechange  = handleServerResponse;
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send(null);
}

在上面你可以看到,当我将鼠标悬停在有效的 a href class="popper" 上时,我得到了我的 servlet 的参数。但问题是它总是在 foreach 循环中获取最后一个“a href”参数......

 <c:forEach items="${row}" var="cell">

<a href="./DokterWeek_KlantoverzichtServlet?AfspraakID=${cell.afspraakId}&Id=${cell.id}&KlantId=${cell.klant.id}" 
class="popper" data-popbox="pop1">

<c:forEach items="${row}" var="cell">

是否有任何 javascript 或 jquery 的可能性,当我将鼠标悬停在它上面时,我可以获得 a href 值 ...或循环中的最后一个ahref ...

请帮助我,我一直在寻找解决方案超过 2 天:(

4

2 回答 2

1

问题是您没有获得悬停元素的 href 值。你可以用它$(this)来做到这一点。在您的情况下,您使用$("a.popper"),它获取所有a.popper元素,从而选择最后一个 href。

在你的情况下:

var xmlhttp = new getXMLObject();   //xmlhttp holds the ajax object

$(function() {
$('a.popper').hover(function(e) {
    var theElementYourHovering = $(this),
        currentHref = theElementYourHovering.attr('href');

    // Do your stuff here
}
于 2013-05-08T11:27:44.733 回答
0

在这种情况下,您需要获取href悬停元素的 。这可以使用$(this)

xmlhttp.open("GET","DokterWeek_KlantoverzichtServlet?" + $(this).prop("href").split("?")[1],true);//gettime will be the servlet name

注意: 由于您使用的是 jQuery,请使用$.ajax()实用程序进行 ajax 调用,而不是使用 rawXmlHTTPRequest

于 2013-05-08T11:24:02.833 回答