使用AJAX更改数据工具提示无效

时间:2016-11-07 20:46:16

标签: javascript python ajax django materialize

我的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 个答案:

答案 0 :(得分:1)

您可以使用tooltip功能:

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

答案 1 :(得分:0)

试试这个:

$('#someElement').prop('tooltipText', 'new title');