0

I have a partial page which I have tried to reload in time interval like 2/5 sec.partial page load within model binding. partial page name like "_OutletTable.cshtml" its loaded within index page. When adding item against every li then li update within reload operation. but when click on li then it's not working.

     @using PepperoniApp.Models
    @model MultiplePoSmodel
    <ul class="tablenameorderstatus">
        @foreach (var item in Model.Tables)
        {
            var orderstatus = item.OrderStatus.ToLower();
            var colstatus = item.Collection.ToLower();
            var colorName = string.Empty;

            switch (orderstatus ?? string.Empty)
            {
                case " ":
                    colorName = "green";
                    break;
                case "n":
                case "r":
                    colorName = "dark-yellow";
                    break;
                case "d":
                    colorName = colstatus == "b" ? "brown" : "orange";
                    break;

            }

            <li data-tableid="@item.TableId" data-kotorderid="@item.KotOrderId" data-outletid="@item.Oid">
                <a href="#" class="btn  @colorName tableName table-order-detail"><i class="icon-food"></i><span>@item.TableName</span></a>
            </li>

        }
    </ul>



this is the index page I have to render action to load the partial page.    
    <div id="tablecontainer" class="metro-sidenav-table scrollbar-rail">
                        <h4 class="side-head">Table</h4>
                        <div id="divtableload">
                            @{Html.RenderAction("FetchTable");}

                        </div>

                    </div>


partial page controller with action code given below: 


    public ActionResult FetchTable()
            {
                try
                {
                    Int32 storeid = Convert.ToInt32(Session["StoreId"]);
                    MultiplePoSmodel multiple = new MultiplePoSmodel();
                    List<TableModel> tablelist =
                        dbEntities.GET_ALL_OUTLET_TABLE_NAME(storeid).AsEnumerable().Select(s => new TableModel()
                        {
                            TableId = s.TABLE_ID,
                            TableName = s.TABLE_NAME.ToString(),
                            TableType = s.TABLE_TYPE,
                            Oid = s.OID,
                            OrderStatus = s.ORDER_STATUS,
                            KotOrderId = s.ORDERID,
                            TableStatus = s.TABLE_STATUS,
                            Collection = s.COL_STATUS
                        }).ToList();
                    multiple.Tables = tablelist;
                    return PartialView("_OutletTable", multiple);
                }
                catch (Exception e)
                {
                    return Json(e.Message, JsonRequestBehavior.AllowGet);
                }
            }

 every 15000 millisecond page reload for partial page with this jquery which is given below:

    setInterval(function () {
                var url = '@Url.Action("FetchTable")';
                var notifications = $("#divtableload");
                notifications.load(url);
            }, 15000);
but problem is when i click li thats not working like:

    $('.tableName')
                .click(function() {
                    debugger;
                    var outletid = $(this).closest('li').data('outletid');
                    var tableid = $(this).closest('li').data('tableid');
                    var tablename = $(this).closest('li').text();
                    var kotorderid = $(this).closest('li').data('kotorderid');
    });
ANJYR
  • 2,583
  • 6
  • 39
  • 60
python gbs
  • 65
  • 3
  • 13
  • 1
    You need to use [Event Delegation](https://learn.jquery.com/events/event-delegation/) if your dynamically loading elements e.g. `$(document).on('click', '.tableName', function() { ... })` –  Nov 27 '17 at 07:34
  • solved as you said @stephen. anyway thanks. – python gbs Nov 27 '17 at 08:43
  • Possible duplicate of [Event binding on dynamically created elements?](https://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements) –  Nov 27 '17 at 08:58

0 Answers0