将确认/取消弹出窗口插入JQuery - CSS问题

时间:2014-06-02 14:46:58

标签: javascript jquery asp.net-mvc-5

我仍然是JQuery的新手,我正在尝试制作一个简单的弹出消息来确认删除,但我希望表格行在此过程中变为红色。

我发现这段代码看起来很简单,很简单。

$(document).ready(function(){
    $('.confirm').click(function(){
        var answer = confirm("Are you sure you want to delete this item?");
        if (answer){
            return true;
        } else {
            return false;
        }
    });
});

来自:http://brettgregson.com/programming/how-to-make-a-are-you-sure-pop-up-with-jquery/138

我正在尝试"将它添加到我当前的deleteFunction(),但我仍然是JQuery的新手,我有一些"错误"用它。

我的deleteFunction(没有确认 - 但颜色更新工作正常)

function deleteFunction(element) {
        var newID = $(element).closest("td").find("span.ID").text();
        $(element).closest("tr").css('background-color', 'red');
        $.post(
                '@Url.Action("customDelete", "Movie")',
                 {
                     'id': newID
                 },
                function (data) { },
                "json"
            );
        $(element).closest("tr").hide();
    }

我的插入确认框有效,但不会更新tr背景颜色,也不会在取消时将颜色还原为默认值。

function deleteFunction(element) {
    var newID = $(element).closest("td").find("span.ID").text();
    $(element).closest("tr").css('background-color', 'red');

    $(document).ready(function () {

        var answer = confirm("Are you sure you want to delete this item?");
        if (answer) {
            $.post(
        '@Url.Action("customDelete", "Movie")',
        {
            'id': newID
        },
        function (data) { },
        "json"
        );
            $(element).closest("tr").remove();
            return true;
        } else {
            $(element).closest("tr").css('background-color', 'default');
            return false;
        }
    });


}

如果有人能够解释为什么在确认框出现之前没有触摸CSS颜色(或者为什么在按下取消后它没有删除颜色),我将非常感激。

2 个答案:

答案 0 :(得分:1)

我为您创建了一个jsfiddle: working sample 。至于清除颜色,您应该使用css('background-color', 'initial')。至于突出显示 - 它应该突出显示,就像样本一样。如果它没有帮助,那么随意透露你的HTML标记,很可能是问题在那里

答案 1 :(得分:0)

如果用户想要删除,您可以调用删除功能,就像这样 这是你的删除功能:

function deleteFunction(element) {
    var newID = $(element).closest("td").find("span.ID").text();
    $(element).closest("tr").css('background-color', 'red');
    $.post(
            '@Url.Action("customDelete", "Movie")',
             {
                 'id': newID
             },
            function (data) { },
            "json"
        );
    $(element).closest("tr").hide();
}


以下是要删除的内容:

$(document).ready(function(){
  var ans=confirm("Are you sure you want to delete this item?");
 if(ans)
    {
     deleteFunction(element);
     }
   else
    {
        return false;
     }
});