Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   JavaScript копирование значение и введение в дргой селектор (https://javascript.ru/forum/dom-window/44186-javascript-kopirovanie-znachenie-i-vvedenie-v-drgojj-selektor.html)

рони 14.01.2014 19:18

Цитата:

Сообщение от kostyanet
повесить ровно 1 на всю таблицу

специально для вас в
Цитата:

Сообщение от kostyanet
скриптографии

клик на table,как вариант table можно заменить на любой вышестоящий тег
<!DOCTYPE HTML>
<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
   <style type="text/css">
 td{
   border: #FF0000 1px solid
 }
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
  <script>
$.fn.setCursorPosition = function (b) {
    this.each(function (c, a) {
        a.focus();
        if (a.setSelectionRange) a.setSelectionRange(b, b);
        else if (a.createTextRange) {
            var d = a.createTextRange();
            d.collapse(!0);
            d.moveEnd("character", b);
            d.moveStart("character", b);
            d.select()
        }
    });
    return this
};
$(document).ready(function () {
    var b = JSON.parse(localStorage.getItem("tds")) || {},
    c = document.querySelectorAll("td"),
    a;
    for (a in b) c[a] && (c[a].innerHTML = b[a]);
    $("table").on("click", "td", function () {
        var a = $(this),
            c = a.html(),
            e = $("td").index(a),
            f = $("<input/>", {
                value: c,
                click: function (a) {
                    a.stopPropagation()
                },
                blur: function () {
                    b[e] = this.value;
                    localStorage.setItem("tds", JSON.stringify(b));
                    a.html(b[e])
                }
            });
        a.html(f);
        f.setCursorPosition(c.length)
    })
});
  </script>
</head>

<body>
<table>
   <tr>
     <td>1234</td>
     <td>1234</td>
   </tr>
   <tr>
     <td>1234</td>
     <td>1234</td>
   </tr>
   <tr>
     <td>1234</td>
     <td>1234</td>
   </tr>
 </table>
 <table>
   <tr>
     <td>1234</td>
     <td>1234</td>
   </tr>
   <tr>
     <td>1234</td>
     <td>1234</td>
   </tr>
   <tr>
     <td>1234</td>
     <td>1234</td>
   </tr>
 </table>
</body>
</html>

kostyanet 14.01.2014 19:46

Я об этом крипто:

$("table").on("click", "td", function () {


если расшифровать то будет td.addEventListener(); или не будет?

рони 14.01.2014 20:26

Цитата:

Сообщение от kostyanet
не будет?

будет клик по таблице анализироватся на наличие ячейки td в event.target обычное делегирование

Pro808 14.01.2014 20:32

Скрипт очень хорош , при изменение значения всё происходит как надо , но сохраняется первый потомок. Можно сделать скрипт для неограниченного количества потомков ?

рони 14.01.2014 20:39

Цитата:

Сообщение от Pro808
но сохраняется первый потомок. Можно сделать скрипт для неограниченного количества потомков ?

можно на пальцах про потомков?

Pro808 14.01.2014 20:43

Да ...


<tbody>

//Первый <td></td>
// второй <td></td>

</tbody>

... и так далее по счету

рони 14.01.2014 20:48

Pro808,
скрипт сохраняет изменения для любой ячейки какая бы она ни была по счёту и общее количество ячеек также любое в пределах localStorage

Pro808 14.01.2014 20:50

P.S. загрузил на локалку , заполнил то что было нужно , но в итоге сохранился первый столбец , первые потомки .

рони 14.01.2014 20:53

Pro808,
структуру вашей таблицы покажите?
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 14.01.2014 20:54

Pro808,
здесь таблица 2 столбца -- здесь как сохраняет?


Часовой пояс GMT +3, время: 07:22.