JQuery UI Вопрос. Как передать параметры в функцию - PullRequest
0 голосов
/ 03 марта 2010

Я довольно новичок в jQuery.

Как передать параметры в функцию? Я нашел несколько демонстрационных примеров jQueryUI и все заработало, за исключением ссылки «просмотр».

У меня проблема с передачей параметров и их отображением в модальных всплывающих окнах.

У меня есть кнопка «Создать нового пользователя» и ссылка «Просмотр» на странице. Нажатие «Создать нового пользователя» действительно передает параметры и показывает их в модальном всплывающем окне. («12345» в текстовом поле «Идентификатор пользователя», «Джон Старкс» в текстовом поле «Имя пользователя»)

$(function() { 
...  
    //Create New User button 
    $('#create-user') 
        .button() 
        .click( 
            function() { 
                $('#dialog-form').dialog('open'); 
                userId.val('12345'); 
                userName.val('John Starks'); 
            } 
        ); 
}); 

Но ссылка «Просмотр» не работает ... При нажатии на ссылку «Просмотр» появляется модальное окно без значения в текстовом поле (идентификатор пользователя и имя пользователя)

function doView( idP, nameP )   
{   
     $('#dialog-form2').dialog('open'); 
     userId.val(idP);  
     userName.val(nameP);  
} 

<a href="#" OnClick="doView('001','John Doe');" >view</a> 
... 

Как передать параметры в модальное окно?

Заранее спасибо.

1 Ответ

0 голосов
/ 03 марта 2010

метод ajax () хорошо описан в документах jquery . Он принимает только один параметр, являющийся массивом / объектом настроек, включая пары ключ-значение настроек.

один из примеров документов выглядит следующим образом:

$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});

В вызове вашего исходного кода (в самом верху) отсутствует параметр 'url', поэтому метод не может знать, какой URL запрашивать. Вы можете добавить параметр ajax к вашему вызову следующим образом (просто пример):

  url: 'ajax/test.php',
  type: "GET",
  data: ({id : idP, name : nameP}),

весь код не протестирован, но это должно немного прояснить: -)

РЕДАКТИРОВАТЬ: я только что увидел, что вы вызываете ваш метод представления с установленными идентификатором и именем, так почему вы хотите сделать вызов ajax? Чтобы получить больше информации? Затем вы можете использовать приведенный выше код и добавить дополнительные параметры.

Если вы хотите только взять эти два параметра и показать их в своем диалоговом окне, вам должно быть достаточно следующего (что у вас уже было в первую очередь):

function doView( idP, nameP ) 
{ 
     $('#dialog-form2').dialog('open');
     userId.val(idP);
     userName.val(nameP);
}

редактировать

для модального диалога переписать doView следующим образом:

function doView( idP, nameP ) 
{ 
     $('#dialog-form2').dialog({ modal: true });
     userId.val(idP);
     userName.val(nameP);
}

используйте его так же, как и раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...