如何存储特定列表值

时间:2017-04-10 21:38:06

标签: jquery html5

我已经生成了一些如下所示的列表:

<div id="floating-panel">
  <ul class="rss">
    <li id="list_0"><a href="javascript:void(0)" onclick="displayPopUp();">Diana</a></li>
    <li id="list_1"><a href="javascript:void(0)" onclick="displayPopUp();">Paul</a></li>
    <li id="list_2"><a href="javascript:void(0)" onclick="displayPopUp();">Robert</a></li>
  </ul>
</div>

它可能是一个更大或更小的列表,ID总是唯一的,如示例中所示...我的问题是如何知道我点击了哪个列表项,以便我可以保存数据,在这种情况下名称'戴安娜'还是'保罗'?我需要存储在PHP中某处的标签之间的信息,以便我知道哪个人被点击了。

为了提供更多上下文,当点击引用时,会打开一个相同的页面弹出窗口,其中包含一个提供用户信息的位置,我还需要点击链接的名称。

3 个答案:

答案 0 :(得分:0)

您可以获取触发事件的元素:

function displayPopUp(event) {
    var name = event.target.innerHTML;
}

有关event.target的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Event/target

我不是JavaScript专家,这应该指向正确的方向。

答案 1 :(得分:0)

如果你想获得链接,否则你可以简单地使用jQuery:

  1. $.get("URL/to/send/request/to", function(data, status){ alert("Data: " + data + "\nStatus: " + status);//data is the actual response you get, while status is weather the request was successful }); }); 元素添加事件侦听器。
  2. 从事件发起人处获取数据:获取链接标题和href。
  3. &#13;
    &#13;
    li
    &#13;
    $('.rss').find('li').click(function(){
        var link = $(this).find('a');
        alert(link.html());
        alert(link.attr('href'));
    });
    &#13;
    &#13;
    &#13;

答案 2 :(得分:0)

您可以通过点击获取li中的文字,但更好的方法是使用HTML5的数据属性来获取给定点击的li上的人的姓名。

&#13;
&#13;
$(document).ready(function(){
  $('.rss li').click(function(){
  var name = $(this).data('name');
   displayPopUp(name);
   })
   
   
 function displayPopUp(name) {
   console.log(name);
  }
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="floating-panel">
  <ul class="rss">
    <li id="list_0" data-name="Diana"><a href="javascript:void(0)">Diana</a></li>
    <li id="list_1" data-name="Paul"><a href="javascript:void(0)">Paul</a></li>
    <li id="list_2" data-name="Robert"><a href="javascript:void(0)">Robert</a></li>
  </ul>
</div>
&#13;
&#13;
&#13;