Как изменить содержимое вне диалогового окна jQuery UI из диалога?

0

У меня есть диалоговое окно, которое появляется при выборе определенного диапазона. Теперь этот диалог содержит текстовое поле (следовательно, редактируемое). При нажатии кнопки "Сохранить" мне нужно скопировать содержимое textarea в ячейку таблицы вне диалогового окна. Кажется, это не происходит. Infact при добавлении второй строки кода в функцию Save, диалоговое окно не появляется! (Используя это в WordPress на всякий случай, это имеет значение)

jQuery(document).ready(function ($) {
    $("td > span").click(function () {
        var id = $(this).attr('id');
        var message = "message" + id;
        var content = jQuery("#" + message).text();
        var $dialog = $("<div></div>").html("<textarea style='width:99%; height:90%' class='popup-content'>" + content + "</textarea>").dialog({
            height: 400,
            width: 400,
            title: 'My Data',
            modal: true,
            autoOpen: false,
            dialogClass: 'wp-dialog',
            buttons: {
                "Save": function () {
                    var popup - content = $(".popup-content").val();
                }
            }
        });
        $dialog.dialog("open");
    });
});
Теги:
dialog

1 ответ

0
Лучший ответ

Кнопка сохранения больше не работает, потому что var popup - content недействителен javascript. Если у вас есть возможность, я бы сначала предложил добавить в редактор некоторые функции JSLint или JSHint.

Теперь, чтобы выполнить то, что вы хотите выполнить, оно должно быть довольно простым. Мы проигнорируем некоторые потенциальные наземные мины и предположим, что у вас есть уникальные идентифицированные классы, но ваша функция сохранения должна выглядеть примерно так:

function() {
    $(".my-table-cell").html($(".popup-content").val());
}
  • 0
    То, что вы предложили, работает отлично! Но не могли бы вы пояснить, почему «var popup - content is not valid javascript». Не получил эту часть.
  • 0
    Это просто недопустимый код, синтаксический анализатор Javascript не поймет этот синтаксис. Это та же самая причина, по которой вы просто не можете разбить лицо о клавиатуру и ожидать, что движок Javascript что-то поймет.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню