kmllev Ответов: 0

Изменение метки на текстовое поле по щелчку мыши?


Этот блок кода находится внутри цикла:

<label id=\"col_{$child_column_id}\">{$child_column_id}</label>

<input type=\"text\" id=\"{$child_column_id}\" onblur=\"cancelRename(this, this.id)\" style=\"display:none\">

<br>

<label id=\"{$child_column_id}\" onclick=\"renameColumn(this.id, this.id)\">Rename</label> /

<a href=\"".base_url()."index.php/table/deleteCol/{$child_column_id}\"> Delete</a> /

<a href=\"".base_url()."index.php/table/insertNewColumn/1/{$child_column_id}\">Split</a></td>";



Когда я нажимаю на переименование, оно должно измениться на "Сохранить", а метка, содержащая идентификатор/имя столбца, должна измениться на текстовое поле. Когда я нажимаю на кнопку Сохранить, он фиксирует изменения в базе данных; если пользователь нажимает за пределами текстового поля, он отменяет изменения и снова становится меткой. "Сохранить" снова станет "переименовать".

Что я уже пробовал:

//on click: show textbox, hide label
      function renameColumn(label_id, inputText_id)
      {
        alert('Entered rename' label_id);
        //change 'Rename' to 'Save'
        document.getElementById(label_id).innerHTML = 'Save';
        $(label_id).css('display', 'none');
        $(inputText_id)
        .val($(label_id).text())
        .css('display','')
        .focus();
      }

      //on blur
      function cancelRename(editText, label)
      {
        document.getElementById(label).innerHTML = 'Rename';
        $(editText).css('display', 'none');
        //$(column_id)
        .css('display', '');
      }

      //on save
      function saveColumnName(editText_value, column_id)
      {

        document.getElementById(label).innerHTML = 'Rename';
      }

Ayodeji Oluwatomiwo

разве вы не можете просто попытаться скрыть метку и открыть текстовое поле??

ZurdoDev

Вам просто нужно отладить его, чтобы найти, что не так.

0 Ответов