сделать div видимым в функции обратного вызова getJson () Jquery - PullRequest
1 голос
/ 18 января 2012

Я пытаюсь опубликовать некоторые данные во всплывающем элементе div с помощью jquery. Предположим, что он заполнен данными, полученными через httphandler

, вызов обработчику, который он сам настроил и работает хорошо.проблема заключается в публикации этих данных в пользовательском интерфейсе с использованием jquery.

проблема:

вызов обработчика с помощью сценария: первый подход

   function GetProducts(id){                   
        $.getJSON("ProductDetails", id, function (data) {
                var div = $('#ProductDetails');  
                div.css('visibility', 'visible'); 
        } );
   }           

файл css:

         #ProductDetails 
         {
              visibility:hidden;
              border: 1px solid black;   
              position:absolute;
              left:50%;
              top:50%;
              width:150px;     
              height:150px; 
         }

это просто почему-то вообще не влияет на div и не становится видимым.

второй подход:

вызов:

         $(document).ready(function () {
              $('#ProductDetails').addClass('hidden');
         });

         function Get_Product_Details(btn) {
              $.getJSON("ProductDetails", id, function (data) {
                    var div = $('#ProductDetails');           
                    div.removeClass('hidden');
                    div.addClass('show');            
               });
         }

css:

         .hidden
         {
              visibility:hidden;
         }
         .show
         {
              visibility:visible;   
         }  

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

         &(documnet).ready(......)

как бы вы сделали всплывающий элемент div, который появляется при обратном вызове $ .getJson?

1 Ответ

2 голосов
/ 18 января 2012

В вашем скрытом div, просто используйте:

<div id="A" style="display:none">...</div>

, тогда вы можете показать его, используя:

$('#A').show() or $('#A').hide()
...