Как сделать ajax postback в форме со списком флажков - PullRequest
0 голосов
/ 25 января 2012

Я динамически рисую флажки в своей форме:

@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id="itemsList"}))
{
foreach (var lt in Model.MyList)
            {                
                <li>                
                    <label id="label">
                        <input value="@lt.itemId" type="checkbox" />
                        @lt.Title</label>
                </li>                        
            } 
}

Функция JQuery:

$(document).ready(function () {
        $('#itemsList').ajaxForm({
            success: Saved,
            error: HandleError
        });
    });
...

Но мои действия не выполняются.Я что-то здесь не так делаю?Я ожидаю, что когда я поставлю галочку, сделаю серверный вызов.

Ответы [ 2 ]

1 голос
/ 25 января 2012

Я ожидаю, что когда я установлю флажок, сделаю серверный вызов.

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

$(document).ready(function () {
        $('#itemsList').ajaxForm({
            success: Saved,
            error: HandleError
        });

        $(':checkbox').change(function(){
            $('#itemsList').submit();
        });
});
0 голосов
/ 25 января 2012

ajaxForm будет перехватывать заявки и отправлять их через ajax.Но вам нужно активировать отправку для вызова ajax.

Попробуйте добавить:

$('input[@type="checkbox"]').click(function(){ $('#itemsList').submit(); }

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

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