jquery - 通过特殊属性Jquery隐藏页面上的按钮

标签 jquery asp.net-mvc

我是网络新手。我有这样的表:

<tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @item.DateStart.ToShortDateString()
                </td>
                <td>
                    @item.DateEnd.ToShortDateString()
                </td>
                <td data-name="@item.Id" data-approved="@item.Approved.ToString()">
                    @item.Approved.ToString()
                </td>                
                <td>
                    @item.FirstName.ToString() @item.LastName.ToString()
                </td>
                <td>
                    @item.Position.ToString()
                </td>

                <td>
                    <button class="btn btn-primary accept-button" data-id="@item.Id">Accept</button>               
                    <button class="btn btn-danger decline-button" data-id="@item.Id"> Decline</button>
                </td>
            </tr>
        }
    </tbody>

我为此页面上的按钮编写了一个脚本:

$(document).ready(function () {
    $('#requestTable').DataTable(
        {
            aoColumns: [
            { mDataProp: "DateStart", sTitle: "Date Start" },
            { mDataProp: "DateEnd", sTitle: "Date End" },
            { mDataProp: "Approved", sTitle: "Approved" },
            { mDataProp: "Data", sTitle: "Employee" },
            { mDataProp: "Position", sTitle: "Position" },
            { mDataProp: "", sTitle: "" }
            ],
            columnDefs: [{
                targets: 'no-sort',
                orderable: false
            }]
        });

    $('button.accept-button').click(function () {
        var id = $(this).attr('data-id')
        var appr = $('td[data-name="' + id + '"]');
        appr[0].textContent = "True";
        $.ajax({
            type: "POST",
            url: "/TableRequest/AcceptRequest",
            data: { 'id': id },
            success: function (msg) {
            }
        });
    });
    var tempId;
    $('button.decline-button').click(function () {
        tempId = $(this).attr('data-id')
        var appr = $('td[data-name="' + tempId + '"]');
        appr[0].textContent = "False";
        $("#dialog").dialog()
    });
    $('button.ok-request').click(function () {
        var message = $('textarea#commentForDecline').val();

        $.ajax({
            type: "POST",
            url: "/TableRequest/DeclineRequest",
            data: { 'message': message, 'id': tempId },
            success: function (msg) {
            }
        });
        $("#dialog").dialog('close');
        $('textarea#commentForDecline').val('');
    });

    hideButtons();

}); 
function hideButtons(){
        // var appr = $('td[data-name="' + id + '"]');
       var appr = $("td[data-approved='false']");
       var 
       if(appr[0].textContent == "True")
       {
           $('button.accept-button').hide();
       }
       if(appr[0].textContent == "False")
       {
           $('button.decline-button').hide();
       }
    };

我想隐藏依赖于表中Approved字段的按钮。如果 @item.Approved.ToString() 为 true - 需要隐藏“接受”按钮,否则 - “拒绝”。谁能帮我吗?

最佳答案

<td>
@if (item.Approved)
{              
    <button class="btn btn-danger decline-button" data-id="@item.Id"> Decline</button>
}
else
{
    <button class="btn btn-primary accept-button" data-id="@item.Id">Accept</button> 
}
</td>

我假设 item.Approved 是一个 bool 值。如果不是,您必须更改 if 子句。

关于jquery - 通过特殊属性Jquery隐藏页面上的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29944476/

相关文章:

c# - 转换为 C# 中的对象列表时,Json 反序列化返回 null

c# - 如何使用 LINQ 编辑我的序列以便它仅返回一个元素

javascript - jQuery .bind ('show' )通过 jQuery 显示元素时无法正常工作

Javascript数组到句子

c# - 如何标记 List 或 IEnumerable 可序列化?

asp.net - Kendo UI 窗口在刷新大内容后居中

c# - 将 Bootstrap 连接到 ASP.NET _Layout.cshtml 文件

javascript - 向此 href 添加类..不起作用?

javascript - 是否可以从另一个页面访问其他网页

javascript - 使用 JQuery 扩展多个文本区域