Проблема с записью в массив Jquery [закрыт]

107
20 апреля 2021, 22:50
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.

Закрыт 1 год назад.

Улучшить вопрос

https://jsfiddle.net/nilsons20000/8nsdovpy/64/ Перетащив одну карточку с статичным текстом , а вторую с текстарее, то сохранение в массив должно быть вот такое

{"cards1":["title","Static_text_from_block"],"cards2":["title","text_from_text_area"]"}

суть в том , что текст из текстарее должен сохранится там , куда его и перетащили , у меня это получилось со статичным текстом , но не выходит с текстарее. он сохраняется везде

{"cards1":["title","Static_text_from_block","text_from_text_area"],"cards2":["title","text_from_text_area"]"}

получается типа такого что то . Помогите , пожалуйста исправить

    $('#temp').on('click', function() {
            var result = {};
            $('.hexagon-cards-drop').each(function() {
                var type = $(this).attr('data-type');
                var elements = [];                
                        $(this).find('.wrap').each(function() {
                            var textarea = $(this).find("#my_textarea");
                                var text_write = '';
                                if(textarea.length){
                                     text_write = textarea.val();
                                     elements.push(text_write);
                                }else{
                                text_val = $(this).text();
                                elements.push(text_val);
                                }
                        });
                result[type] = elements
            });
            var myJsonString = JSON.stringify(result);
            console.log(myJsonString);
        });
    }
    ```

Answer 1

Ошибка в этой строке. Вы в цикле обращаетесь к элементу по id. Элемент естественно находится каждый раз ведь вы ищете по всему документу.

    document.getElementById("my_textarea").value,

Вам нужно искать внутри вашего враппера. Напимер:

    var textarea = $(this).find("#my_textarea");

Потом проверять есть ли такой элемент и брать его значение

    var text_write = '';
    if(textarea.length){
            text_write = textarea.val();
    }
READ ALSO
Как скрыть тег html таблицы по itemprop

Как скрыть тег html таблицы по itemprop

Как можно скрыть первую строку в таблице, если таблица для товара создается автоматически в админкеПробовал через js (сам новичок в этом),...

108
Как проверить открыто ли окно в WPF?

Как проверить открыто ли окно в WPF?

Как проверить открыто ли окно в WPF? Когда окно открыто, то при нажатии на кнопу открывается новое окноКак предотвратить это?

122
Как сохранить данные в txt datagridview c каждой TabPages

Как сохранить данные в txt datagridview c каждой TabPages

Есть программа имеющая 16 одинаковых вкладок с разным содержанием DatagridView(их тоже 16шт) на каждой из них

116
Как работать с ConfigurationManager без App.config?

Как работать с ConfigurationManager без App.config?

Дело в том, что для библиотеки SQLiteCodeFirst нужен файл конфигурации App

112