2013-09-19 5 views
0

я взял этот пример кусок кода из приведенной ниже ссылкеКак создать диалог jQuery UI Динамически динамически и отображать функцию?

How do I close a dialog using jQuery?

$(function() { 
    $("a:contains('sometext')").click(function() { 
     var NewDialog = $('<div id="MenuDialog">\ 
      <p>This is your dialog content, which can be multiline and dynamic.</p>\ 
     </div>'); 
     NewDialog.dialog({ 
      modal: true, 
      title: "title", 
      show: 'clip', 
      hide: 'clip', 
      buttons: [ 
       {text: "Submit", click: function() {doSomething()}} 
      ] 
     }); 
     return false; 
    }); 
}); 

Здесь вместо значения йоЗотеЬЫпд мне нужно использовать переменную. Например, если у меня есть переменная temp = confirm, то должно быть указано значение .. поэтому, когда я нажал кнопку, необходимо вызвать функцию подтверждения.

Как я могу это достичь?

ответ

1

Если переменная подтвердить это функция, которую вы можете просто заменить функцию щелчка с Подтверждаю:

Edit: 

$(function() { 
    var confirm1 = function(){ 
     alert("confirm function 1"); 
    } 
    var confirm2 = function(){ 
     alert("confirm function 2"); 
    } 

    var temp = confirm1; 


    $("a:contains('sometext')").click(function() { 
     var NewDialog = $('<div id="MenuDialog">\ 
      <p>This is your dialog content, which can be multiline and dynamic.</p>\ 
     </div>'); 
     NewDialog.dialog({ 
      modal: true, 
      title: "title", 
      show: 'clip', 
      hide: 'clip', 
      buttons: [ 
       {text: "Submit", click: function(){temp();}} 
      ] 
     }); 
     return false; 
    }); 

    // Uncomment this line if you want to change temp function 
    // temp = confirm2; 

}); 

Fiddle: http://jsfiddle.net/nilgundag/SgFJk/4/

+0

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

+0

Я рассмотрел код, чтобы использовать временную переменную – nilgun

0

Я изменил код, как показано ниже, и она работает ..

кнопки: [ {текст: «Отправить», нажмите: function() {eval (temp)()}} ]

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