Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   редактирование таблицы (https://javascript.ru/forum/misc/45599-redaktirovanie-tablicy.html)

psfdek 11.03.2014 11:40

Понял, спасибо!

psfdek 11.03.2014 13:17

Цитата:

Сообщение от рони (Сообщение 302133)
.....

Еще возник вопрос, как сделать так что бы в вашем примере: http://javascript.ru/forum/jquery/41...tml#post269823 при нажатии Enter редактирование закрывалось.

рони 11.03.2014 13:43

psfdek,
добавить
.keypress() и по условию что клавиша Enter закачивать редактирование.

рони 11.03.2014 13:52

psfdek,
поставил keyup -- Enter выход из режима редактирования
<!DOCTYPE HTML>
<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
  <script>
$.fn.setCursorPosition = function(pos) {
    this.each(function(index, elem) {
    if (elem.setSelectionRange) {
        elem.setSelectionRange(pos, pos);
    } else if (elem.createTextRange) {
        var range = elem.createTextRange();
        range.collapse(true);
        range.moveEnd('character', pos);
        range.moveStart('character', pos);
        range.select();
    }
    });
    return this;
};
$(document)
       .ready(function () {
           $("td")
               .click(function () {
                   var text =  $(this).html(),
                       varX = $("<input/>", {
                       "value": text,
                       "click": function (event) {
                           event.stopPropagation()
                       },
                       "blur": function () {
                           $(this).parent().html($(this).val())
                       },
                       "keyup": function (event) {
                          event.which == 13 && $(this).trigger("blur")
                       }
                   });
                   $(this).html(varX);
                   varX.setCursorPosition(text.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>
</body>
</html>

psfdek 11.03.2014 15:08

Как разрешить только 2 столбец редактировать?
Как запретить редактировать некоторые строки вообще.
Например строки в THEAD

рони 11.03.2014 15:11

Цитата:

Сообщение от psfdek
Как разрешить только 2 столбец редактировать?
Как запретить редактировать некоторые строки вообще.
Например строки в THEAD

изучить селекторы и задать нужное в строке 25
$("tbody tr td:nth-of-type(2)")

psfdek 12.03.2014 07:51

Спасибо!

des1roer 27.01.2015 11:34

tbody tr td:nth-of-type(2) а как к этому добавить еще и третью строку?

рони 27.01.2015 11:45

des1roer,
tbody tr td:nth-of-type(n + 2) - все кроме первой
tbody tr td:nth-of-type(2), tbody tr td:nth-of-type(3) - только 2 и 3 колонка

des1roer 27.01.2015 14:49

tbody tr td:nth-of-type(n+2)


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