Перезагрузить переменную экземпляра каждый раз после вызова AjaxHtml

Программисты Html
Ответить
Anonymous
 Перезагрузить переменную экземпляра каждый раз после вызова Ajax

Сообщение Anonymous »

У меня есть веб -страница в моем приложении, которая позволяет людям создавать, редактировать и управлять тегами. Ну, теперь я реализую функцию, в которой можно удалить группу тегов, которые имеют соответствующий флажок. И когда кнопка удаления нажата, появится сообщение, которое отобразит подтверждающее сообщение с количеством зарегистрированных тегов перед удалением. />tags_controller.rb

Код: Выделить всё

  def index
@tags = Tag.where(organization: @organization).order(:name)
@selected_tags = @tags.where(selected: true)
end
index.html.erb

Код: Выделить всё





 Delete Selected Tags







 Create Tag










Select All/None

Name








_tag.html.erb tags.js

Код: Выделить всё

function toggleTagSelection(organizationId, tagId, selected){
const data = {
id: tagId,
selected: selected
};

if(selected) {
selectedTags.push(tagId)
} else {
if(selectedTags.includes(tagId)){
index = selectedTags.indexOf(tagId)
selectedTags.splice(index, 1)
}
}

selectedTagsCountSpan.textContent = selectedTags.length;
documents = getSelectedTagsAssetCount(organizationId)
updateConfirmMessage(selectedTags.length, documents);
console.log("Data", data);
console.log("Selected Tags", selectedTags);
}

function getSelectedTagsAssetCount(organizationId) {

$.ajax({
url: `/organizations/${organizationId}/tags/selected_tags_assets_count`,
method: 'GET',
dataType: 'json',
data: {
selectedTags: selectedTags
},
error: function(e) {
console.error(e);
},
success: function(response) {
console.log("Associated Documents", response.associated_documents)
return response.associated_documents;
}
});
}

function updateConfirmMessage(tagsCount, documentsCount) {
const confirmMessage = `Are you sure you want to delete ${tagsCount} tag(s)? These tags are associated with ${documentsCount} asset(s). This action cannot be undone and will delete the tag and tag associations permanently.`;
deleteButton.setAttribute('data-confirm', confirmMessage);
}
Это генерирует проблему, потому что теперь мне трудно получить @selected_tags , чтобы обновлять каждый раз, когда флажок нажимается или не распределяется. У меня есть код JS, который будет обновлять теги на уровне Persistence, но как я могу получить самые последние, актуальные @selected_tags Каждый раз, когда происходит изменение флажки? Обычно я не получаю точного результата, когда нажимаю кнопку «Удалить».>

Подробнее здесь: https://stackoverflow.com/questions/795 ... -ajax-call
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»