【问题标题】:Getting button's attribute with jquery to call a Controler with attributes使用 jquery 获取按钮属性以调用具有属性的控制器
【发布时间】:2017-05-30 14:34:06
【问题描述】:

我正在尝试调用控制器并将按钮属性的值传递给它。不知何故,它不起作用。

==========按钮==============================

<td class="pdsa-areas-button-column">
    <a data-pdsa-val="@item.Id"
    class="btn btn-default btn-sm">
    <i class="glyphicon glyphicon-th-list"></i>
    </a>
</td>

==============================脚本=============

$(".pdsa-areas-button-column").on("click", function (e) {
                e.preventDefault();

                var id3 = $(this).data('data-pdsa-val');
                window.location.href = '@Url.Action("Index", "Area", new { testId = "id3"})';

            });

也试过 var id3 = $(this).attr('data-pdsa-val');没有运气。

这段代码有什么问题? 谢谢

【问题讨论】:

  • 你需要将事件绑定到anchor
  • 另外你只需要...data('pdsa-val')

标签: jquery asp.net-mvc twitter-bootstrap


【解决方案1】:

使用这个

$(".pdsa-areas-button-column").on("click", function (e) {
                e.preventDefault();
                 var obj = $(this).find('a').data();
                var id3 = obj.pdsaVal
                window.location.href = '@Url.Action("Index", "Area", new { testId = "id3"})';

            });

【讨论】:

  • 不要使用.attr('data-pdsa-val'),使用.data('pdsa-val')
  • 因为它就是为此而设计的!并且 OP 已经在使用data 函数。
  • @Jay:非常感谢。这解决了这个问题。但是 window.location.href = '@Url.Action("Index", "Area", new { testId = "id3"})';
  • 对于 id3=45 ,发送的是 localhost/Area/Index/id3 而不是 localhost/Area/Index/45 ...
  • 哦,是的。我只关注 var id3 所以我会忘记更改 window.location.href @DavidT。
猜你喜欢
  • 1970-01-01
  • 2016-07-31
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 2016-08-23
  • 1970-01-01
相关资源
最近更新 更多