Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-保存突出显示的行_Javascript_Html - Fatal编程技术网

JavaScript-保存突出显示的行

JavaScript-保存突出显示的行,javascript,html,Javascript,Html,下面是突出显示html文件中的行的脚本: $(function(){ $('table').addClass("table table-bordered table-condensed"); $('.table').on('click', 'tr', function(e){ var $tr = $(this); var $table = $tr.closest('.table'); var our_index = $($tr,$

下面是突出显示html文件中的行的脚本:

$(function(){
    $('table').addClass("table table-bordered table-condensed");
    $('.table').on('click', 'tr', function(e){
        var $tr = $(this);

        var $table = $tr.closest('.table');
        var our_index = $($tr,$table).index();
        if (e.shiftKey) {
            var last_index = $table.data('last-index');
            if (last_index) {
                if (last_index < our_index) {
                    while(last_index < our_index) {
                        $('tbody tr:eq('+(++last_index)+')', $table).click();
                    }   
                    $('tbody tr:eq('+(last_index)+')', $table).click();
                } else {  
                    while(last_index > our_index) {
                        $('tbody tr:eq('+(--last_index)+')', $table).click();
                    }
                    $('tbody tr:eq('+(last_index)+')', $table).click();
                } 
            }
            $table.data('last-index',our_index);
        } else {
            $table.data('last-index',our_index);
        }

        if ($tr.hasClass('success')) {
            $tr.removeClass('success');
        } else {
            $tr.addClass('success');
        }
    });
});
以及要保存的部分:

if ($tr.hasClass('success')) {
            $tr.removeClass('success');
        } else {
            $tr.addClass('success');
            $tr.localStorage.setItem(index, 'success');
        }
但是,这是行不通的。我做错了什么


如果我的问题很明显,很抱歉,但我将从网络编程开始。

要浓缩评论并尝试给出答案:

  • 您不能在客户端存储其他计算机上其他用户可用的任何信息。您将需要某种服务器
  • 当您尝试协作编辑时,您需要处理并发或忽略它,因此,无论谁先到达服务器,都可以保存其版本
  • 要与服务器通信,可以使用Ajax。注意:未测试此代码:

    var rows = [], saveRows = [];
    function saveState() {
      $('tbody tr').each() {
        if ($(this).is(".success")) rows.push($(this).index())
      }
      if (rows.join(",") != saveRows.join(",")) {
        saveRows = rows.slice(0); // copy;
        $.post("storeRows.php",{"rows":rows.length>0?rows.join(","):""},function(res) {
          console.log("stored");
          if (res.rows.join(",") != saveRows.join(",")) {
             $('tbody tr').each(function(i) {
               $(this).toggleclass("success",rows.indexOf(i));
             });
          }
        });
      }
     }
     setInterval(saveState,3000);
    
    服务器需要将列表保存到某个位置

    1,4,7,9
    

    然后在创建表时使用它来初始化表,或者在加载表时让ajax来完成这项工作。

    Try-您需要将更改存储在服务器上,并让服务器在创建表之前将类添加到行/单元格中loading@GeorgeJempty究竟为什么不呢?只需使用classes更新服务器上的表,我认为
    $tr.localStorage.setItem(index,'success')
    应该是
    localStorage.setItem(index,'success')
    。您需要从行中获取索引值(可能是我们的索引)是的,非常感谢@mplungjan标签中是否列出了服务器端技术?我没想到苏珊克斯!我试试看。我还有一个问题。我正在通过保存excel文件重新发布页面,我想在重新发布时重置所有突出显示的数据,但我不知道如何检查页面是否刷新。有什么想法吗?如何保存Excel文件?如何提供?服务器进程可以读取文件日期并将其与数据一起发送。然后,您可以通过让服务器查看我所说的本地存储的文件日期,从客户端询问是否有新文件。我将数据保存在excel中,并刷新excel中的数据=刷新第页上的数据。我想捕获保存新数据以删除所有突出显示的单元格的时刻。您仍需要查看服务器以获取文件日期。
    1,4,7,9