Передача нескольких значений флажков в действие с помощью Jquery - PullRequest
0 голосов
/ 28 июля 2010

У меня есть небольшая проблема, которая сводит меня с ума.

У меня есть страница, которая генерирует список флажков на основе поиска.Также на странице есть диалоговое окно, предназначенное для отображения при нажатии кнопки.Я пытаюсь получить значения из флажков и передать их в действие контроллера, которое затем возвращает частичное для диалога.

Проблема в том, что я получаю значения из флажков, но они не передаются действию в контроллере.Не уверен, что мне здесь не хватает.

Используемый мной скрипт jquery

 var create_dialog = jQuery("#main div#list_dialog");
        // AddToList is a button for sending values to the action
        $("#AddToList").live("click", function() {
            var myData = new Array();
            var i = 0;
            $("input:checkbox[@name='ID']").each(
                function() {
                    if (this.checked) {
                        myData[i] = this.value;
                        i++;
                    }
                });
            create_dialog.load(
        Jurat.Path.createActionPath("List", "ListValues"),
        { ID: myData },
            function() {
                create_dialog.dialog("open");
                create_dialog.find("form").validate();
            });
        });

Действие контроллера

[HttpPost]
public ActionResult ListValues(string ID)
{
        // Removed manipulation details
    return PartialView("ListSelection", Data);
}

1 Ответ

0 голосов
/ 28 июля 2010

Я не на 100% уверен в том, что происходит с jQuery и create_dialog, но мне кажется, что вы передаете массив в контроллер, а контроллер просто ищет строку.

Я думаю, вам нужно изменить контроллер на:

[HttpPost]
public ActionResult ListValues(string[] ID)
{
        // Removed manipulation details
    return PartialView("ListSelection", Data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...