Простой веб-шаблон

Я полный новичок, когда дело касается веб-программирования. Так что, пожалуйста, не будьте слишком требовательны :)

Итак, я хотел бы создать страницу, подобную той, что размещена ниже Простой веб-шаблон

Две основные функции:

1) Пока будет нажата кнопка справа, все ячейки должны стать зелеными.

2) Данные в ячейках будут экспортированы из таблицы Excel, поэтому я обновлю только Excel, и страница будет обновлена.

* 3) - только если возможно - Сохранение текущего статуса строки (выделена или нет), поэтому после закрытия страницы и повторного открытия выделенные предыдущие ячейки будут выделены.

Буду признателен за любую помощь.

Заранее спасибо :)

1) - это пара строк CSS и / или JavaScript после того, как у вас есть сетка. 2) Это большой шаг, и читать файлы Excel без библиотеки практически невозможно. Это действительно сложно, и вам, вероятно, потребуются недели или месяцы, чтобы просто написать простую программу чтения Excel, даже если она сосредоточена только на вашем конкретном файле Excel и не поддерживает миллионы параметров, которые эти файлы теоретически могут содержать. 3) Опять же, довольно просто. Вы можете использовать куки или локальное хранилище. Еще одна горстка кода Javascript. 1 строка для сохранения состояния при щелчке и 3 для считывания его при загрузке страницы.

GolezTrol 05.06.2018 09:23

@Karol, ваши данные обязательно должны быть связаны с Excel? Это все очень усложняет.

Samuel Hulla 05.06.2018 09:28

Если бы вы могли сохранить данные в более простом формате, их анализ самостоятельно внезапно стал бы доступным. Json очень легко читать из Javascript, но нелегко писать из Excel. CSV (значения, разделенные запятыми) по-прежнему легко анализировать, и его можно сохранить непосредственно из Excel, поэтому вы можете выполнять обслуживание данных с помощью Excel.

GolezTrol 05.06.2018 09:29

Когда вы описываете себя нубом, вам должно быть довольно сложно решить эту проблему, и у вас будет возможность выучить ее. Что ты уже испробовал ?

Vignesh Raja 05.06.2018 09:29

Ну, он может быть в другом формате, дело в том, что я бы сгенерировал таблицу из excel и могу сохранить ее там, где это потребуется.

Karol 05.06.2018 09:48
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
55
1

Ответы 1

я думаю, что этот код поможет вам

$(function(){
    $('.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');
            }
    });
});
<script src = "https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src = "https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link href = "https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel = "stylesheet"/>



<!------ Include the above in your HEAD tag ---------->

<div class = "container">
	<div class = "row">
		<h2>Table Row Selector with Shift Special Key</h2>
		
		
		<table class = "table table-bordered table-condensed">
		    <thead>
		        <tr>
		            <th>ID</th>
		            <th>Name</th>
		        </tr>
		    </thead>
		    <tbody>
		        <tr><td>0</td><td>Example</td></tr>
		        <tr><td>1</td><td>Example</td></tr>
		        <tr><td>2</td><td>Example</td></tr>
		        <tr><td>3</td><td>Example</td></tr>
		        <tr><td>4</td><td>Example</td></tr>
		        <tr><td>5</td><td>Example</td></tr>
		        <tr><td>6</td><td>Example</td></tr>
		        <tr><td>7</td><td>Example</td></tr>
		        <tr><td>8</td><td>Example</td></tr>
		        <tr><td>9</td><td>Example</td></tr>
		        <tr><td>10</td><td>Example</td></tr>
		        <tr><td>11</td><td>Example</td></tr>
		        <tr><td>12</td><td>Example</td></tr>
		        <tr><td>13</td><td>Example</td></tr>
		        <tr><td>14</td><td>Example</td></tr>
		        <tr><td>15</td><td>Example</td></tr>
		        <tr><td>16</td><td>Example</td></tr>
		        <tr><td>17</td><td>Example</td></tr>
		        <tr><td>18</td><td>Example</td></tr>
		        <tr><td>19</td><td>Example</td></tr>
		    </tbody>
		</table>
		
		
	</div>
</div>

Это очень помогает, но есть ли способ сохранить уже выделенные ячейки? Весь html-файл будет храниться на моем локальном сервере, но было бы здорово иметь эту функцию, если бы я выделил некоторые ячейки, тогда кто-то другой, кто откроет страницу, увидит, что они выделены

Karol 05.06.2018 10:44

выбранные ячейки сохраняются в таблице

Hardik Prajapati 05.06.2018 10:54

Другие вопросы по теме