0

我创建了一个用于组织活动会话的网格视图。该网格在最左侧的列下方以 30 分钟为增量包含一天中的时间,然后在右侧是事件具有的不同轨道。您可以在他的网格周围拖放会话来安排您的活动等。

有一种模式允许用户更改特定日期的时间。目前,我将其设置为在用户更改时间时刷新页面,这样网格就会更新。

我想在不刷新页面的情况下添加或删除必要的时间行。不太确定如何对这个进行数学计算。我肯定知道这是可能的。

组织者支持受 PW 保护的应用程序,但如果你们仍然不理解问题,我可以尝试拼凑一个小提琴。(要让它在没有服务器的情况下运行会很困难而且很耗时)。

这是我当前的保存日功能:

 saveEditDay: function(clicked){
        var fm = $('.edit-day-form');
        if(fm.valid()){
            $.ajax({
                type: "PUT",
                url: '<?=URL::to_action("api.day")?>/' + day_buttons.dayId,
                data: fm.serialize(),
                success: function(dayObject){
                    console.log('changing the button');
                    //only "current" day can be edited, so:
                    dayObject.is_current = true;
                    $('#day-btn-'+dayObject.id).replaceWith(ich.day_btn(dayObject));
                    $('.edit_header time').attr('datetime',dayObject.happens_at).text(dayObject.date_long);
                    //console.log(dayObject)
                    $('.days').trigger('change');
                    $('#edit_day_modal').modal('hide');  

                    //day_buttons.removeHourRows(dayObject)

                    //Temporary fix for showing new day times on save.
                    window.location = window.location.pathname;
                }
            });
        }
    },

这是我尝试从中添加/删除 tr 的日历的代码:

http://jsfiddle.net/5QFAw/6/

4

1 回答 1

0

根据进一步了解,这可能是您想要的:

$(function () {
    var foo = function (t) {  // t = the input of user
        $(".YourTBodyClass tr").each(function () { // Assign a specific class to your tobody, or if you just want to deal with one table then id will be fine as well

            if ($(this).attr("data-val") < t) { // I assume you can assign a "int" data-val to each tr with 8,9,10....24. 
                                                // Of couse you can also try compare with the data-id you have in your jsfiddle, it's just slightly more complicated.
                                                // If data-val is used, you can use other unobtrusive val

                $(this).css("display", "none"); // I will prefer to just hide the tr rather than wipe, so that you don't need to worry about recreating it

            } else {

                $(this).css("display", "block");

            }
        });
    };
});

在js中查看评论,如果您有任何问题,请告诉我。

再次祝你好运。

于 2013-06-12T19:58:37.983 回答