Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.07.2018, 20:52
Новичок на форуме
Отправить личное сообщение для Byrylka Посмотреть профиль Найти все сообщения от Byrylka
 
Регистрация: 24.07.2018
Сообщений: 8

Работа с массивами и таблицей.
Есть такая таблица.
<!doctype html>
<html lang="ru">
<head>
	<!-- Required meta tags -->
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

	<!-- Bootstrap CSS -->
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
	<link rel="stylesheet" type="text/css" href="css/style.css">
	<script type="text/javascript" src="script.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

	<title>Kost Artem</title>
</head>
<body>
	<button type="button" class="btn btn-primary" onclick="window.location='add.html'">Add new book</button>
	<table class="table table-bordered table-striped">
		<thead>
			<tr>				
				<th scope="col"><span>&#9660;</span>Title</th>
				<th scope="col"><span>&#9660;</span>Description</th>
				<th scope="col"><span>&#9660;</span>Actions</th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td id="td1">Cell 1</td>
				<td>Cell 2</td>
				<td style="text-align: center">
					<button type="button" id="edit">Edit</button>
					<button type="button" id="delete">Delete</button>
				</td>
			</tr>
			<tr>				
				<td>Cell 4</td>
				<td>Cell 5</td>
				<td></td>
			</tr>
			<tr>
				<td>Cell 7</td>
				<td>Cell 8</td>
				<td></td>
			</tr>
			<tr>
				<td>Cell 10</td>
				<td>Cell 11</td>
				<td></td>
			</tr>
		</tbody>
	</table>



	<!-- Optional JavaScript -->
	<!-- jQuery first, then Popper.js, then Bootstrap JS -->
	<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
	<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
</body>
</html>


И такая форма которая должна добавлять элементы в таблицу.
<!doctype html>
<html lang="ru">
<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
  <link rel="stylesheet" type="text/css" href="css/style.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

  <title>Add page</title>
</head>
<body>

  <form>
   <div class="form-group">
    <label for="formGroupExampleInput">Title</label>
    <input type="text" class="form-control" id="formGroupExampleInput" placeholder="Title" required oninvalid="this.setCustomValidity('Це поле повинно бути заповнене!')" oninput="setCustomValidity('')">
  </div>
    <div class="form-group">
      <label for="exampleFormControlTextarea1">Description</label>
      <textarea class="form-control" id="exampleFormControlTextarea1" rows="3" placeholder="Description"></textarea>
    </div>
    <div class="form-group form-check">
      <input type="checkbox" class="form-check-input" id="exampleCheck1">
      <label class="form-check-label" for="exampleCheck1">Active?</label>
    </div>
    <button type="button" class="btn btn-light" >Save</button>
    <button type="submit" class="btn btn-light" onclick="window.location='index.html'">Back</button>
  </form>
  <!-- Optional JavaScript -->
  <!-- jQuery first, then Popper.js, then Bootstrap JS -->
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
</body>
</html>


И желательно все это сделать через массив.

Кто-то знает как єто сделать без серверной части?

Последний раз редактировалось Byrylka, 24.07.2018 в 21:31.
Ответить с цитированием
  #2 (permalink)  
Старый 24.07.2018, 21:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Byrylka,
идеи должны быть у вас, пишите код или поищите на форуме, с десяток вариантов наверняка есть.
Ответить с цитированием
  #3 (permalink)  
Старый 24.07.2018, 21:26
Новичок на форуме
Отправить личное сообщение для Byrylka Посмотреть профиль Найти все сообщения от Byrylka
 
Регистрация: 24.07.2018
Сообщений: 8

Сообщение от рони Посмотреть сообщение
Byrylka,
идеи должны быть у вас, пишите код или поищите на форуме, с десяток вариантов наверняка есть.
рони,
Я сегодня искал целый день и никак не могу найти то что нужно. Что я сумел понять что такое можно реализовать через PHP и MYSQL. Но мне єтого не нужно. Подскажите пожалуйста. А то под конец дня я уже отчаялся
Ответить с цитированием
  #4 (permalink)  
Старый 24.07.2018, 21:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

https://javascript.ru/forum/jquery/6...tml#post438374
Ответить с цитированием
  #5 (permalink)  
Старый 24.07.2018, 21:50
Новичок на форуме
Отправить личное сообщение для Byrylka Посмотреть профиль Найти все сообщения от Byrylka
 
Регистрация: 24.07.2018
Сообщений: 8

Сообщение от рони Посмотреть сообщение
https://javascript.ru/forum/jquery/6...tml#post438374
Єто близко к тому что нужно. Но мне нужно чтобы при нажатии "Добавить елемент" в уже существующей таблице появлялся дополнительный ряд с введенными данными ?
Ответить с цитированием
  #6 (permalink)  
Старый 24.07.2018, 22:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

добавление строк в таблицу
Byrylka,
ввести Title и Description, нажать Save
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    $("form").on("click", "[type='button']", add);

    function add() {
        var tr = $("<tr>").appendTo("tbody");
        $(".form-control").each(function() {
            $("<td>", {
                html: this.value
            }).appendTo(tr);
            this.value = ""
        });
      $("<td>", {
                html: '<button type="button" id="edit">Edit</button><button type="button" id="delete">Delete</button>'
            }).appendTo(tr);

    }
});
  </script>
</head>

<body>
<table class="table table-bordered table-striped">
        <thead>
            <tr>
                <th scope="col"><span>▼</span>Title</th>
                <th scope="col"><span>▼</span>Description</th>
                <th scope="col"><span>▼</span>Actions</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td id="td1">Cell 1</td>
                <td>Cell 2</td>
                <td style="text-align: center">
                    <button type="button" id="edit">Edit</button>
                    <button type="button" id="delete">Delete</button>
                </td>
            </tr>
            <tr>
                <td>Cell 4</td>
                <td>Cell 5</td>
                <td></td>
            </tr>
            <tr>
                <td>Cell 7</td>
                <td>Cell 8</td>
                <td></td>
            </tr>
            <tr>
                <td>Cell 10</td>
                <td>Cell 11</td>
                <td></td>
            </tr>
        </tbody>
    </table>
<form>
   <div class="form-group">
    <label for="formGroupExampleInput">Title</label>
    <input type="text" class="form-control" id="formGroupExampleInput" placeholder="Title" required oninvalid="this.setCustomValidity('Це поле повинно бути заповнене!')" oninput="setCustomValidity('')">
  </div>
    <div class="form-group">
      <label for="exampleFormControlTextarea1">Description</label>
      <textarea class="form-control" id="exampleFormControlTextarea1" rows="3" placeholder="Description"></textarea>
    </div>
    <div class="form-group form-check">
      <input type="checkbox" class="form-check-input" id="exampleCheck1">
      <label class="form-check-label" for="exampleCheck1">Active?</label>
    </div>
    <button type="button" class="btn btn-light" >Save</button>
    <button type="submit" class="btn btn-light" onclick="window.location='index.html'">Back</button>
  </form>
</body>
</html>

Последний раз редактировалось рони, 25.07.2018 в 11:16.
Ответить с цитированием
  #7 (permalink)  
Старый 24.07.2018, 23:40
Новичок на форуме
Отправить личное сообщение для Byrylka Посмотреть профиль Найти все сообщения от Byrylka
 
Регистрация: 24.07.2018
Сообщений: 8

Сообщение от рони Посмотреть сообщение
Byrylka,
ввести Title и Description, нажать Save
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    $("form").on("click", "[type='button']", add);

    function add() {
        var tr = $("<tr>").appendTo("tbody");
        $(".form-control").each(function() {
            $("<td>", {
                html: this.value
            }).appendTo(tr);
            this.value = ""
        })
    }
});
  </script>
</head>

<body>
<table class="table table-bordered table-striped">
        <thead>
            <tr>
                <th scope="col"><span>▼</span>Title</th>
                <th scope="col"><span>▼</span>Description</th>
                <th scope="col"><span>▼</span>Actions</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td id="td1">Cell 1</td>
                <td>Cell 2</td>
                <td style="text-align: center">
                    <button type="button" id="edit">Edit</button>
                    <button type="button" id="delete">Delete</button>
                </td>
            </tr>
            <tr>
                <td>Cell 4</td>
                <td>Cell 5</td>
                <td></td>
            </tr>
            <tr>
                <td>Cell 7</td>
                <td>Cell 8</td>
                <td></td>
            </tr>
            <tr>
                <td>Cell 10</td>
                <td>Cell 11</td>
                <td></td>
            </tr>
        </tbody>
    </table>
<form>
   <div class="form-group">
    <label for="formGroupExampleInput">Title</label>
    <input type="text" class="form-control" id="formGroupExampleInput" placeholder="Title" required oninvalid="this.setCustomValidity('Це поле повинно бути заповнене!')" oninput="setCustomValidity('')">
  </div>
    <div class="form-group">
      <label for="exampleFormControlTextarea1">Description</label>
      <textarea class="form-control" id="exampleFormControlTextarea1" rows="3" placeholder="Description"></textarea>
    </div>
    <div class="form-group form-check">
      <input type="checkbox" class="form-check-input" id="exampleCheck1">
      <label class="form-check-label" for="exampleCheck1">Active?</label>
    </div>
    <button type="button" class="btn btn-light" >Save</button>
    <button type="submit" class="btn btn-light" onclick="window.location='index.html'">Back</button>
  </form>
</body>
</html>
Спасибо большое... Мне сложно разобраться в коде.. Как еще сделать так чтобы третья колонка с кнопками также каждый раз добавлялась?
Спасибо!
Ответить с цитированием
  #8 (permalink)  
Старый 25.07.2018, 10:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Byrylka
Как еще сделать так чтобы третья колонка с кнопками также каждый раз добавлялась?
добавлена строка 23 пост №6, и не копируйте сообщения целиком.
Ответить с цитированием
  #9 (permalink)  
Старый 25.07.2018, 10:57
Новичок на форуме
Отправить личное сообщение для Byrylka Посмотреть профиль Найти все сообщения от Byrylka
 
Регистрация: 24.07.2018
Сообщений: 8

Смотрите. В строке 46-47 есть две кнопки (пост 6). И это они должны добавляться каждый раз, а не просто слово "Edit"
Спасибо
Ответить с цитированием
  #10 (permalink)  
Старый 25.07.2018, 11:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Byrylka
И это они должны добавляться каждый раз, а не просто слово "Edit"
в чём проблема?
написать в кавычках то что вам нужно?
строка 24 смотрите снова пост №6

Последний раз редактировалось рони, 25.07.2018 в 11:17.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивами Gerd199 Общие вопросы Javascript 41 05.04.2018 23:36
работа с массивами jony0x Элементы интерфейса 5 31.10.2016 22:17
Работа с массивами BorisBritva jQuery 6 23.02.2014 18:31
работа с массивами one-two Работа 11 31.01.2011 16:30
Все тот же innerHTML и IE (работа с динамической таблицей HTML5) abstract Internet Explorer 7 16.12.2010 18:19