2014-01-08 5 views
1

У меня есть сайт, на котором есть много страниц подтверждения и требуется диалоговое окно. Мне интересно, есть ли лучший способ написать мой код, так что я не должен описывать все параметры диалога каждый раз. Каждый диалог может иметь одну вещь. обычно полная кнопка - это другая функция.с использованием диалога jquery несколько раз с несколько разными параметрами

, например:

$('#dialogA').dialog(
    { 
      autoOpen:false, 
      width: 800, 
      modal: true, 
      resizable: false, 
      closeOnEscape: false, 
      buttons: 
    { 
      "Complete": function() 
      { 
       //DO SOMETHING FOR A(possible print results of something) 
      } 
    } 
    }); 

и другой

$('#dialogB').dialog(
    { 
      autoOpen:false, 
      width: 800, 
      modal: true, 
      resizable: false, 
      closeOnEscape: false, 
      buttons: 
    { 
      "Complete": function() 
      { 
       //DO SOMETHING FOR B (possibly some ajax call) 
      } 
    } 
    }); 

так что единственное, что меняется, так это то, что делает кнопка Complete. с точки зрения непрофессионалов я предполагаю, я хочу, чтобы установить переменная содержит все диалоговые параметры ....

+0

Вы пытались использовать функцию Complete (param) с этим и сохранить себя? И анализатор (то есть, если или переключитесь) внутри функции «Полный», чтобы определить, как он должен себя вести? – nocturns2

ответ

1

Продлить JQuery:

(function ($) { 
    $.fn.extend({ 
    confirmDialog: function (options) { 
     var defaults = { 
      autoOpen:false, 
      width: 800, 
      modal: true, 
      resizable: false, 
      closeOnEscape: false, 
      buttons: 
     }; 

     var options = $.extend(defaults, options); 
     $(this).dialog(options); 
     }   
    } 
})(jQuery); 

и назвать его так:

$('#dialogB').dialog({Complete: function() { … }; }); 

You может также переопределять значения по умолчанию при вызове диалога ...

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