Click here to Skip to main content
15,895,803 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
We know about excel sheet. When we click + sign a tab is added in the excel sheet. This is like that.

I have a web page like that. When anyone click a 'open modal popup' button a pop up is open where there is two button. If I click 'Add Tab' then another tab will open with 3 tab tab and if i click 'delete current tab' button the the current open tab will delete.

HTML
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>jQuery UI Tabs - Default functionality</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
    <script type="text/javascript" src="ModalPopUpForAddAndDeleteTab.js"></script>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css">

    <script>
        $(function () {
            $("#tabs").tabs();
        });

        $(function () {
            var name = $("#name"),
            email = $("#email"),
            password = $("#password"),
            allFields = $([]).add(name).add(email).add(password),
            tips = $(".validateTips");
            function updateTips(t) {
                tips
                .text(t)
                .addClass("ui-state-highlight");
                setTimeout(function () {
                    tips.removeClass("ui-state-highlight", 1500);
                }, 500);
            }
            function checkLength(o, n, min, max) {
                if (o.val().length > max || o.val().length < min) {
                    o.addClass("ui-state-error");
                    updateTips("Length of " + n + " must be between " +
                    min + " and " + max + ".");
                    return false;
                } else {
                    return true;
                }
            }
            function checkRegexp(o, regexp, n) {
                if (!(regexp.test(o.val()))) {
                    o.addClass("ui-state-error");
                    updateTips(n);
                    return false;
                } else {
                    return true;
                }
            }
            $("#dialog-form").dialog({
                autoOpen: false,
                height: 100,
                width: 400,
                modal: true,
                buttons: {
                    "Add Tab": function () {
                        var bValid = true;
                        allFields.removeClass("ui-state-error");
                        bValid = bValid && checkLength(name, "username", 3, 16);
                        bValid = bValid && checkLength(email, "email", 6, 80);
                        bValid = bValid && checkLength(password, "password", 5, 16);
                        bValid = bValid && checkRegexp(name, /^[a-z]([0-9a-z_])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter.");
                        // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
                        bValid = bValid && checkRegexp(email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. ui@jquery.com");
                        bValid = bValid && checkRegexp(password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9");
                        if (bValid) {
                            $("#users tbody").append("<tr>" +
                            "<td>" + name.val() + "</td>" +
                            "<td>" + email.val() + "</td>" +
                            "<td>" + password.val() + "</td>" +
                            "</tr>");
                            $(this).dialog("close");
                        }
                    },
                    "Delete Current Tab": function () {
                        $(this).dialog("open");
                    }
                },
                close: function () {
                    allFields.val("").removeClass("ui-state-error");
                }
            });
            $("#PopUp_Button")
            .button()
            .click(function () {
                $("#dialog-form").dialog("open");
            });
        });


    </script>

</head>


<body>
    <div id="tabs">
        <ul>
            <li><a href="#tabs-1">First Tab</a></li>
            <li><a href="#tabs-2">Second Tab</a></li>
            <li><a href="#tabs-3">Third Tab</a></li>
        </ul>
        <div id="tabs-1">
            <p>This is our First Tab</p>
        </div>
        <div id="tabs-2">
            <p>This our second Tab</p>
        </div>
        <div id="tabs-3">
            <p>This our Third Tab</p>
        </div>
    </div>

    <div id="dialog-form" title="Add New Tab & Delete Current Tab">  

    </div>
   
    <div>
    <button type="button" id="PopUp_Button">Open Modal PopUp</button>
    </div>


</body>
</html>





Can anyone provide any code for this solution.
Posted
Updated 14-May-14 1:01am
v4
Comments
HardikPatel.SE 14-May-14 6:46am    
In a single click means how?
sachi Dash 14-May-14 7:00am    
single click means a button click.
HardikPatel.SE 14-May-14 7:06am    
That you have to add by javascript div appending.
sachi Dash 14-May-14 7:13am    
can you provide me the code?
jacobjohn196 14-May-14 7:51am    
Create whatever tabs you want in your aspx page and make the style="display:none". When you click on the add button, make the display:block/inline using javascript and "display:none" for delete. <br>
"Open"->show<br>
"Delete"->hide<br>
;)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900