Изменение всплывающей подсказки данных с помощью AJAX не работает

У меня есть кнопка в моем HTML-шаблон:

            <a class="tooltipped" id="stash_recipe_tooltip" data-position="bottom" data-delay="50"
               data-tooltip="{{ stash_tooltip }}">
                <div id="stash_recipe_btn" class="detail_footer_btn btn-floating col2 center"> + </div>
            </a>

позже, в html-файле, у меня есть:

<script>
function  add_recipe_to_stash() {
  var stash_plus_or_minus = document.getElementById("stash_recipe_btn").innerHTML
  $.ajax({
    url: '/ajax/add_recipe_to_stash/',
    type: 'GET',
    data: {
       # this goes to a django view that, in essence, returns a new 'stash_tooltip' var and 'stash_plus_or_minus' var
      'stash_plus_or_minus': stash_plus_or_minus,
    },
    dataType: 'json',
    success: function (data) {
        document.getElementById("stash_recipe_btn").innerHTML = data.stash_plus_or_minus;
        $("#stash_recipe_tooltip").attr('data-tooltip', data.stash_tooltip);  
    }
  });
}
function addClickHandlers() {
  $("#stash_recipe_btn").click( add_recipe_to_stash );
}
</script>

Это похоже на

$("#stash_recipe_tooltip").attr('data-tooltip', data.stash_tooltip);

должен изменить мою подсказку, но ничего не происходит. Любая идея, как успешно обновить всплывающую подсказку без обновления страницы? Я пробовал разные варианты вышеуказанной строки, но не могу обновить ее.

2 ответа

Решение

Вы можете использовать tooltip функция для этого:

success: function (data) {
    document.getElementById("stash_recipe_btn").innerHTML = data.stash_plus_or_minus;
    $("#stash_recipe_tooltip").tooltip('tooltip', data.stash_tooltip);  
}

Попробуй это:

$('#someElement').prop('tooltipText', 'new title');
Другие вопросы по тегам