Как передать переменную в качестве параметра при вызове ajax

У меня есть функция щелчка, которая вызывает модальное диалоговое окно jQuery. Я хочу, чтобы URL.Action вызывался внутри открытой функции диалога, которая должна передавать параметры. Но мне нужно динамически передать параметр данных (переменную). Как передать это динамически? Как сохранить его в переменной и передать в поле «данные:»? Я не мог заставить его работать со следующим кодом.

Примечание. Также из синтаксиса -- url = '@(Html.Raw(Url.Action("ShowPopUp", "Home", new { serviceID = svc, serviceMasterId = masterId, serviceStatusId = statusId }))) > отображение следующие предупреждающие сообщения 1. Имя «svc» не существует в текущем контексте 2. Имя «masterId» не существует в текущем контексте 3. Имя «statusId» не существует в текущем контексте

    $('.lnkRequest').click(function () {
        serviceId = $(this).attr('serviceID');
        $('#dialog').css("display", "block");
        $('#dialog').data('svcId', $(this).attr('serviceID'));
        $('#dialog').data('svcMasterId', $(this).attr('serviceMasterID'));
        $('#dialog').data('svcStatusId', $(this).attr('serviceStatusID'));
        $('#dialog').dialog('open');
        return false;
    });

    $('#dialog').dialog({
        autoOpen: false,
        modal: true,
        height: 'auto',
        width: 'auto',
        draggable: false,
        open: function (event, ui) {
            var svc = $(this).data('svcId');
            var masterId = $(this).data('svcMasterId');
            var statusId = $(this).data('svcStatusId');
            url = '@(Html.Raw(Url.Action("ShowPopUp", "Home", new { serviceID = svc, serviceMasterId = masterId, serviceStatusId = statusId })))',                                  
            $(this).load(url);
        }
    });

person Sanooj VS    schedule 15.05.2014    source источник


Ответы (2)


Метод jQuery load принимает параметр data.

$('#dialog').dialog({
        autoOpen: false,
        modal: true,
        height: 'auto',
        width: 'auto',
        draggable: false,
        open: function (event, ui) {
            var svc = $(this).data('svcId');
            var masterId = $(this).data('svcMasterId');
            var statusId = $(this).data('svcStatusId');
            url = '@(Html.Raw(Url.Action("ShowPopUp", "Home")))';                                 
            $(this).load(url, 
                {
                    serviceId: svc,
                    serviceMasterId: masterId,
                    serviceStatusId: statusId
                });
        }
    });

Источник: http://api.jquery.com/load/

См. самый последний пример на странице.

person Drew Hayes    schedule 15.05.2014

получить идентификатор диалога с помощью jquery, а затем загрузить

Пожалуйста, перейдите по ссылкам:

MVC 2 — отображение диалогового окна jquery, содержащего частичный просмотр

также это

person Brijesh    schedule 15.05.2014