2015-09-05 32 views
4

我已經修改了原來的modal.js腳本支持AJAX的內容,以及,並增加了一個所謂的新行爲「AJAX」這裏是我的一段代碼:語義UI模式和Ajax加載的內容

ajax: function(callback) { 
    callback = $.isFunction(callback) 
    ? callback 
    : function(){} 
    ; 
    var $content = $(this).find('.content'); 
    $.get("contentData.php", function(data) { 
    $content.html(data); 
    }); 

我這樣稱呼它:

$('body').on('click', '.domOdal', function() { 
    $('.ui.modal') 
     .modal({ 
      observeChanges: true 
     }).modal('ajax') 
}); 

上面的代碼可以完美運行和負荷內容correclty,但我想延長一個多一點,這樣我就可以包括附加信息,如自定義網址,數據類型等幾乎所有的AJAX選項,我想從初始化部分這樣做:

$('body').on('click', '.domOdal', function() { 
    $('.ui.modal') 
     .modal({ 
      observeChanges: true 
     }).modal('ajax', {"id":5}, dataType:"json", "url": http://myurl.php" etc...) 
}); 

回答

1

如何做這樣的:

$('body').on('click', '.domOdal', function() { 
    $.ajax({ 
     url: "specs.html", 
     type: 'POST', 
     dataType: 'xml', 
     dataType: 'html' 
    }).done(function(response) { 
     console.log(response) 
     $(response).modal(); 
    });  
}); 
0

晚了一些,但這是什麼工作對我來說:

$('body').on('click', '.domOdal', function (e) { 
    e.preventDefault(); 
    $('.ui.modal') 
     .modal({ 
      blurring: true, 
      observeChanges: true, 
      transition: 'scale', 
      onVisible: function (callback) { 
       callback = $.isFunction(callback) ? callback : function() { }; 
       var $content = $(this).find('.content'); 
       $.get("contentData.php", function (data) { 
        $content.html(data); 
       }); 
      } 
     }).modal('show') 
}); 

而在你的HTML在MODL被稱爲:

<div class="ui modal"> 
    <i class="close icon"></i> 
    <div class="content"> 
    </div> 
</div>