2016-09-26 5 views
1

У меня есть представление с кнопкой и ниже, что div, который заполняется с использованием ajax и частичного представления.Изменение css с частичным представлением с помощью JQuery

Это код, который принадлежит кнопке на вид;

$(document).on('click', '.btn-release', function() { 
    StartReleaseVersionEdit(); 
    ReleaseVersionEdit(); 
} 

Использование Ajax я могу изменить данные, которые отображаются в таблице, это происходит, когда я нажимаю на кнопку в верхней части страницы;

function StartReleaseVersionEdit() { 
    var url = '@Url.Action("ChangelogMavisTabel")'; 
    url = url + '?order=0&paging=1000'; 
    $.ajax({ 
     type: "GET", 
     cache: false, 
     url: url, 
     success: function (data) { 
      $("div#changelog").html(data); 
     } 
    }); 
} 

Этот код работает безупречно. Как только я хочу изменить css элемента внутри этого частичного представления, используя JQuery, чтобы установить отображение равным none, он работает в течение секунды секунды, а затем сразу возвращается к значению по умолчанию.

function ReleaseVersionEdit(){  
    $('.releasebutton').css('display','inline'); 
    // .releasebutton default display=none 
} 

Что я могу сделать для правильной работы? Я не могу поместить JQuery в код частичного представления, потому что он запускается кнопкой на представлении.

+1

Просто переместите функцию ReleaseVersionEdit в метод успеха вашего AJAX вызова – CSL

+1

Ajax является асинхронным. Вызов функции ReleaseVersionEdit() перед загрузкой вашего представления. Вызов функции в обратном вызове успеха (после '$ (« div # changelog »). Html (data);') –

ответ

1

Переместите функцию ReleaseVersionEdit() в метод успешного использования вашего вызова AJAX, таким образом вы можете гарантировать, что он вызывается только после частичной загрузки. Помните, что вызов AJAX является асинхронным - jQuery.ajax():

$(document).on('click', '.btn-release', function() { 
    StartReleaseVersionEdit(); 
    // ReleaseVersionEdit(); Remove from here as this could execute before the partial is loaded 
} 

function StartReleaseVersionEdit() { 
    var url = '@Url.Action("ChangelogMavisTabel")'; 
    url = url + '?order=0&paging=1000'; 
    $.ajax({ 
     type: "GET", 
     cache: false, 
     url: url, 
     success: function (data) { 
      $("div#changelog").html(data); 
      ReleaseVersionEdit(); // Added here so will always be called after the partial has been loaded 
     } 
    }); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^