JavaScript — открыть диалоговое окно с помощью кнопок article_id

В настоящее время я настраиваю админпанель с некоторыми быстрыми действиями для моих статей (в данном случае удаление статьи). Как только я попал в мусорное ведро, должно открыться диалоговое окно и попросить меня признаться в удалении. Должен открыться тот же диалог, основанный на article_id. Я не очень хорошо понимаю JavaScript (кроме нуби).

Часть PHP-кода foreach:

foreach ($show_articles as $blog):
echo "<div class='blog_articles_bottom_container'>";
echo "<div class='blog_articles_bottom_title'>".$blog['title']."</div>";
echo "<div class='blog_articles_bottom_date'>".date('j-m-Y, H:m', $blog['created_at'])."u</div>";
echo "<div class='blog_articles_bottom_comments'>".$amount_comments['total']."</div>";
echo "<div class='blog_articles_bottom_likes'>".$amount_likes['total']."</div>";
echo "<div class='blog_articles_bottom_actions'>";
echo "<div id='article_edit' class='blog_articles_bottom_actions_edit'></div>";
echo "<div id='btn-article-remove-dialog-".$blog['article_id']."' class='blog_articles_bottom_actions_remove'></div>";
echo "<div id='article_settings' class='blog_articles_bottom_actions_settings'></div>";
echo "<div id='clear'></div>";
echo "</div>";
echo "<div id='clear'></div>";
echo "</div>";
endforeach;

Как видите, кнопка удаления имеет следующий идентификатор: # id = ‘btn-article-remove-dialog — «. $ Blog [‘ article_id ‘].» который успешно выдает: id = ‘btn-article-remove-dialog-1 «для первой статьи.

Это часть диалога:

<div id="blog_articles_dialog-" class="blog_articles_dialog" title="Confess deletion">
Are you sure you want to delete </b>'".$blog['title']."'</b> ?
</div>

Это часть JavaScript:

$(document).ready(function(){
$( "#blog_articles_dialog-"+article_id).dialog({ autoOpen: false, resizable: false, draggable: false, closeOnEscape: true, dialogClass: "alert-dialog", width: "380", modal: true });
$( "#blog_articles_dialog-"+article_id).dialog({ hide: { effect: "clip", direction: "vertical", duration: 350 } });

$( "#btn-article-remove-dialog-"+article_id).click(function(article_id) {
$( "#blog_articles_dialog-"+article_id).dialog( "open" );
console.log(article_id);
});
});

Мой вопрос заключается в следующем; Как мне заархивировать это? Это точно повторяет «Uncaught ReferenceError: article_id не определен» в моем журнале консоли. Пытался это исправить, но, как я уже сказал, я нублет.

Спасибо

РЕДАКТИРОВАТЬ # 1 (@ ViktorCarlén)
Это не так, поэтому я добавил следующее:

var article_id = $("#blog_articles_dialog-"+article_id);

«Article_id не определен», ошибка исчезла, но я получил «Uncaught Error: синтаксическая ошибка, нераспознанное выражение: # blog_articles_dialog- [object Object]» взамен 🙁

0

Решение

Позволяет вырезать последнюю строку в идентификаторе диалога:

<div id="blog_articles_dialog" class="blog_articles_dialog" title="Confess deletion">
Are you sure you want to delete </b>'".$blog['title']."'</b> ?
</div>

Затем пропустите переменную article_id, которая не существует.
(Пустой вызов функции, подобный этому, служит так же, как $ (document) .ready ();)

$(function () {
$("#blog_articles_dialog").dialog({ autoOpen: false, resizable: false, draggable: false, closeOnEscape: true, dialogClass: "alert-dialog", width: "380", modal: true });
$("#blog_articles_dialog").dialog({ hide: { effect: "clip", direction: "vertical", duration: 350 }});
});

А затем добавьте: data-article-id = «‘. $ Blog [‘ article_id ‘].'» К элементу, который вызывает диалог удаления, должно работать следующее:

$(".blog_articles_bottom_actions_remove").on('click', function (event) {
$("#blog_articles_dialog").dialog("open");
var article_id = $(this).attr('data-article-id');
console.log(article_id);
});

Скажите, хотите ли вы, чтобы я уточнил, если это неясно или не работает должным образом.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector