按钮onClick以激活JQuery功能

时间:2014-05-30 14:25:00

标签: jquery html asp.net-mvc

我还是JQuery的新手,但我想做的是:

  1. 点击我的编辑按钮并调用someFunction()

  2. 然后Jquery将隐藏我的编辑按钮,显示我的保存按钮,并隐藏删除按钮。

  3. 获取item.ID并保存为var以供日后使用。

  4. 到目前为止,这是我的尝试。

    按钮设置:

    <td class="col-lg-3 col-lg-offset-1">
             <span style="visibility:hidden">@Html.DisplayFor(modelItem => item.ID)</span>
    
             <span class="item-edit-button">
             <button type="button" onclick="someFunction()" class=" btn btn-warning col-lg-4"><span style="margin-right: 5px" class="glyphicon glyphicon-pencil"></span>Edit</button>
             </span>
    
             <span class="item-save-button">
             <button type="button" class="btn btn-success col-lg-4"><span style="margin-right: 5px" class="glyphicon glyphicon-trash"></span>Save</button>
             </span>
    
             <span class="item-delete-button">
             <button type="button" class="btn btn-danger col-lg-4" onclick="location.href='@Url.Action("Delete", "Movie", new { id = item.ID })' ;return false;"><span style="margin-right: 5px" class="glyphicon glyphicon-trash"></span>Delete</button>
             </span>
    </td>
    

    我的JQuery尝试(没有得到var,因为我还没到达那一点)

    <script>
        function someFunction() {
              someFunction //trying to get current item/value/button/ect..
                    .hide()
                    .next("span.item-save-button")
                    .show()
                    .next("span.item-delete-button")
                    .hide()
        };
    </script>
    

    编辑:如何使用下面的答案

    function someFunction(element) {
            $(element).hide();
            $(element).closest("td").find("span.item-save-button").show();
            $(element).closest("td").find("span.item-delete-button").hide();
        }
    

1 个答案:

答案 0 :(得分:3)

你需要像这样传递元素引用:

<button type="button" onclick="someFunction(this)">Click ME</button>

并且在功能中:

function someFunction(element) {

                $(element).hide();
                $(element).closest("td").find("span.item-save-button").show();
                $(element).show();
                $(element).closest("td").find("span.item-delete-button").hide();
                $(element).hide();
    }