【问题标题】:Adding a simple confirm/cancel dialog in jQuery 1.4.2在 jQuery 1.4.2 中添加一个简单的确认/取消对话框
【发布时间】:2013-07-18 06:29:26
【问题描述】:

我在每个列表项中都放置了一个可点击的跨度,它工作正常。 目前它会调用一个简单的警报。

现在我想添加一个简单的取消/确认对话框。每个选择都应该调用一个函数。

这是我的代码(注意跨度点击调用的警报):

<%@ Reference Control="~/KPIP/Controls/MultiUpload.ascx" %>
<%@ Register Src="~/KPIP/Controls/MultiUpload.ascx" TagName="MultiUpload" TagPrefix="tetrada" %>

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Entry.aspx.vb" Inherits="KPIP_Entry" %>


        var barcodes = { <%# BarcodeArray %> }



        kpip.viewAttachment = function (url) {
            $("#entryViewer").attr("src", "../Viewer.aspx?image=" + url);
        }


        function resizeViewer() {
            $("#entryViewer").hide();
            $("#attachments").hide();
            $("#entryViewer").width($("#entryForm").width() - 320 - 4);
            $("#entryViewer").height($("#entryForm").height() - $("#header").height() - 4);
            $("#attachments").height($("#entryForm").height() - $("#header").height() - 4);
            $("#attachments").show();
            $("#entryViewer").show();
        }

        $(function () {
            $.each(barcodes, function(key, value) {
                $("#barcodesList").append("<li>" + key + "</li>");
            });

            deleteButton = $('<span />').addClass('deleteButton').text('Delete');
            $('ul#barcodesList li').append(deleteButton);


            if ($("#barcodesList").children().size() > 0) {
                $("#barcodesList").after('<div id="barcodesShadow" class="cc_panelShadow"></div>');
            }


            $("#barcodesList > li").click(function () {
                $(this).children(".children").toggle();
                $("#barcodesList > li").removeClass("clicked");
                $(this).addClass("clicked");
                $("#selectedBarcode").val($(this).text());

                var params = '{ barcode : "' + $(this).text() + '", path : "' + barcodes[$(this).text()] + '" }';
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "Entry.aspx/Attach",
                    dataType: "json",
                    data: params,
                    success: function () {
                        $("#dummyPostbackButton").click();
                    },
                    error: function (request, status, error) {
                        alert("Error attaching barcode file.");
                    }
                });
            });

            $("#barcodesList > li > span").click(function(e) {
               e.stopPropagation();
               var partxt = $(this).parent().clone().children().remove().end().text();
               alert(partxt);
            });

            $(window).bind("resize", function () {
                setTimeout(function () { resizeViewer(); }, 10);
            });
            setTimeout(function () { resizeViewer(); }, 10);

            $("#barcodesList > li").each(function () {
                if ($(this).text() != $("#selectedBarcode").val()) { return; }
                $(this).addClass("clicked");
            });
        });

    </script>
</head>
<body>
    <form id="entryForm" runat="server">
    <div id="header" class="ContentHeader">
        <asp:Label runat="server" CssClass="ContentHeaderLabel" Text="<%$ Resources: Header.Text %>"/>
    </div>
    <div id="attachments">
        <asp:Label class="tetradaGroupLabel" runat="server" Text="<%$ Resources: AttachmentsPanel.Text %>" />
        <tetrada:MultiUpload ID="upload" runat="server" />
        <asp:Panel ID="BarcodesListPanel" runat="server">
            <asp:Label class="tetradaGroupLabel" runat="server" Text="<%$ Resources: BarcodesPanel.Text %>" />
            <ul id="barcodesList"></ul>
        </asp:Panel>
        <asp:HiddenField ID="selectedBarcode" runat="server" />
        <asp:Button ID="dummyPostbackButton" runat="server" CausesValidation="false" />
    </div>
    <iframe id="entryViewer" frameborder="0" runat="server"></iframe>
    </form>
</body>
</html>

我尝试将对话框放在几个地方并在点击事件中打开它,但没有任何反应。有人可以帮我吗?

最好的问候,no9。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    如果简单你的意思是本地,使用确认而不是警报;

    confirm("Your Text")//Return true if user pressed ok
    // false otherwise
    

    所以你可以这样做:

    if(confirm("Your Text")){
    //do stuff
    }
    

    【讨论】:

      【解决方案2】:

      如果您想在代码中添加确认对话框

      看起来像

      var choice = confirm("Are you sure?");

      并验证用户是否点击yes || no

      if(choice == true) { //then do something here }

      希望对你有帮助..

      【讨论】:

        【解决方案3】:

        为此有一个插件:Simple Confirm Dialog(我猜还有许多其他类似的插件)。

        【讨论】:

        • 该链接不再有效
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-24
        相关资源
        最近更新 更多