@webdozer

Как реализовать смену текста?

Нужно реализовать простую смену ника, но моих знаний пока не хватает. Есть близкие варианты?

Набросал вот такой вот бред:

$(function (){ 
    $('.changeLog').click(function(){  //клик по ручке/редактированию
       $('.log-result').append('<input type="text" placeholder="Введите новый логин" class="chngL">' + '<input type="button" class="chngOk" value="Сохранить">');  //div со старым ником
       $('.chngOk').click(function(){ //так вообще можно?Я ведь только ее создал
        $('.log-result').html(text);
       });
    });
});


5c24c115e7a39817646955.png
5c24c11f10907236422909.png
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Создайте 2 элемента:
1) див или спан с именем и иконкой редактирования,
2) инпут и кнопку в общем элементе, общему элементу поставьте дисплей:нон.
по клику на карандаш - содержимое первого элемента(логин) копируете в инпут, первый элемент хайдите, второй показываете. По кнопке делаем наоборот - в логин заносим содержимое инпута, второй элемент хайдите, первый показываете.
удобнее конечно разбить на несколько разных элементов, думаю со структурой разберетесь сами.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
//так вообще можно?
Да.

$('.log-result').html(text);
Переменная text не определена?

chngL
chngOk
- отличные названия классов в стиле "чтоб никто не догадался, и чтоб я сам через пол года не смог вспомнить что это такое".
Ответ написан
Комментировать
@magarif
Программист
Так можно, но вдруг у вас будет много динамических элементов с одинаковым функционалом, тогда лучше так
$(document).on('click', '.chngOk', function(e) {
  $('.log-result').html(text);
});


И не пишите все в одну строку
let html = 
html += '<input type="text" placeholder="Введите новый логин" class="chngL">';
html += '<input type="button" class="chngOk" value="Сохранить">';
$('.log-result').append(html);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
21 мая 2024, в 16:29
1500 руб./за проект
21 мая 2024, в 16:14
80000 руб./за проект