从列表中的选定项获取属性值

时间:2016-04-14 10:13:49

标签: javascript jquery asp.net-mvc

在MVC应用程序中,我有一个列表:

<ul>
 <li class="list-item" data-action="open" data-id="1"><form>...A..<form/></li>
 <li class="list-item" data-action="open" data-id="2"><form>...B..<form/></li>
 <li class="list-item" data-action="open" data-id="3"><form>...C..<form/></li>
</ul>

如何从所选的li?中获取data-id属性?

我在Jquery中尝试过这段代码:

  this.$list = this.find("ul").first(); 
  this.$list.on("click", "[data-action=\"open\"]", function (e) {

         var x = e.currentTarget.parentElement;//it brings me all the li elements , not just the one that was selected
         var elem=x.data('id');
    });

1 个答案:

答案 0 :(得分:3)

试试这个:您已为li下的ul注册了点击事件处理程序。因此,请阅读$(this).data('id')以获取所点击data-id的{​​{1}},而不是从其父元素中读取li

注意: - 我在下面的代码中删除了e.currentTarget.parentElement;,因为我没有引用它。

&#13;
&#13;
this
&#13;
var $list = $(document).find("ul").first(); 
$list.on("click", "li[data-action=\"open\"]", function (e) {
  var elemId =$(this).data('id');
  alert(elemId);
});
&#13;
&#13;
&#13;

相关问题