Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
<script src="http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-2.1.0.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
                     <input type="button" data-bind="click: addMenu" id="createmenu" class="custombutton" value="Add menu" />
                    <div data-bind="foreach: menus">
                        <div class="createMForm-sec deleteiconparent menu relative ui-widget-content" data-bind="event : { mouseenter : $root.showDeleteIcon, mouseleave : $root.hideDeleteIcon }">
                            <table class="ui-widget">
                                <tr>
                                    <td>
                                        <label for="Sequence">MenuSequence</label>
                                    </td>
                                    <td>
                                        <input type="text" data-bind="value: Sequence" class="CreateSequence" name="Sequence" readonly="true" />
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <label for="Name">MenuName</label>
                                    </td>
                                    <td>
                                        <input type="text" data-bind="value: MenuName, valueUpdate: 'keydown'" class="CreateMenuName" name="Name" />
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <label for="CourseName">CourseName</label>
                                    </td>
                                    <td>
                                        <input type="text" class="CreateCourseName" data-bind="value: CourseName, valueUpdate: 'keydown'" name="CourseName" />
                                    </td>
                                </tr>
                            </table>
                            <button data-bind='click: $root.removeMenu, visible: showHide' class='removemyparent'></button>
                            <input type="hidden" class="clientSideMenuId" data-bind="value: MenuId" />
                        </div>
                    </div>
 
</body>
</html>
 
function MenuViewModel() {
    var self = this;
    self.showHide = ko.observable(false);
    self.MenuId = ko.observable("1");
    self.MenuName = ko.observable('');
    self.CourseName = ko.observable('');
    self.Sequence = ko.observable("1");
}
function CeremonyViewModel() {
    var self = this;
    var menuVM = new MenuViewModel();
    self.menus = ko.observableArray([menuVM]);
    self.addMenu = function () {
        var newMenuVM = new MenuViewModel();
        newMenuVM.Sequence = ko.observable(self.menus().length+1);
        self.menus.push(newMenuVM);
    };
    self.removeMenu = function (data, event) {
        self.menus.remove(data);
        for (var i = 0; i < self.menus().length; i++) {
            self.menus()[i].Sequence(i+1);
        }
    };
    self.showDeleteIcon = function (data, event) {
        if (!($(event.currentTarget).get(0) == $(event.currentTarget).parents("div").children().eq(0).get(0))) {  //problamatic condition
            var button = $(event.currentTarget).find(".removemyparent").first();
          if (typeof button != "undefined" && !button.hasClass("ui-button")) {
                button.button({ text: false, icons: { primary: "ui-icon-close" } });
            }
            data.showHide(true);
        }
    };
    self.hideDeleteIcon = function (data, event) {
        if (!($(event.currentTarget).get(0) == $(event.currentTarget).parents("div").children().eq(0).get(0))) {   //problamatic condition
                       data.showHide(false);
        }
    };
}
    ko.applyBindings(new CeremonyViewModel());
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers