2012-05-19 2 views
1

Я хочу вызвать функцию JavaScript и передать ей строку. Я попробовал этот путь:Вызовите диалоговое окно Jquery и передайте строку для сообщения

function dialog(a){    
    // Dialog   
    $(a).dialog({   
     width: 600, 
     buttons: { 
      "Ok": function() { 
       $(this).dialog("close"); 
      }, 
      "Cancel": function(event) { 
       $(this).dialog("close"); 
       event.preventDefault(); 
      } 
     } 
    }); 

Это кнопка JSF:

<h:commandButton value="Delete" action="#{SessionsController.deleteSelectedIDs}" 
        onclick="dialog('Dialog Test')"> 
    <f:ajax render="@form" execute="@form"></f:ajax> 
</h:commandButton> 

Когда я пытаюсь передать строку, используя этот способ onclick="dialog('Dialog Test')" это не работает. Как я могу это исправить?

С наилучшими пожеланиями

ответ

2

Вы, вероятно, хотите что-то вроде этого:

function dialog(a) { 
    // Dialog   
    $("<div />", { text: a }).dialog({ 
     width: 600, 
     buttons: { 
      "Ok": function() { 
       $(this).dialog("close"); 
      }, 
      "Cancel": function(event) { 
       $(this).dialog("close"); 
       event.preventDefault(); 
      } 
     } 
    }); 
} 

Оберните текст в <div />, который будет содержать текст диалога до того вызова dialog на него. Раньше вы передавали jQuery неверный селектор, поэтому ничего не выскочил.

Пример:http://jsfiddle.net/4extL/2/

+0

Я тестировал его, но он не работает. – user1285928

+0

Вы посмотрели на пример? Какие ошибки вы получаете? –

1

Передача строки в функции dialog(), скорее всего, работает нормально. Что, вероятно, не работает это в результате чего:

$(a) 

который становится:

$('Dialog Test') 

Как говорит, что JQuery искать селектор CSS из <Test> объектов, содержащихся в <Dialog> объектов, которые не то, что вы имели в виду вообще.

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