Отправить форму и включить опцию выбора в значение - PullRequest
0 голосов
/ 03 октября 2009

Я занимаюсь разработкой приложения ASP.NET MVC, и мне немного любопытно, если кто-нибудь подскажет, есть ли лучший способ, чем этот, передать выбранные параметры с остальными данными формы?

var lstOption1 = $('#lstOption1 :selected').attr("optionId1");
var lstOption2= $('#lstOption2 :selected').attr("optionId2");

var formData = $(this).serialize()
    + "&lstOption1 =" + lstOption1 + 
    + "&lstOption2=" + lstOption2;

$.post($(this).attr("action"), formData, function(res)
{

});

Спасибо

Dave

Ответы [ 2 ]

1 голос
/ 03 октября 2009

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

Я использую:

var data = $.makeArray($("input[type=radio]").serializeArray());

Чтобы сделать массив их имен и значений

и затем отправьте его с помощью jQuery ajax () на контроллер MVC

$.ajax({
    url: "/Rounding.aspx/Round/" + $("#OfferId").val(),
    type: 'POST',
    dataType: 'html',
    data: $.toJSON(data), // <-- jQuery plug in to convert to json string
    contentType: 'application/json; charset=utf-8',
    beforeSend: doSubmitBeforeSend,
    complete: doSubmitComplete,
    success: doSubmitSuccess
});

, который передает данные как собственные данные JSON.

Затем вы можете захватить поток ответов и десериализовать его в собственный объект C # / VB.net и манипулировать им в вашем контроллере.

Чтобы автоматизировать этот процесс удобным и не требующим особого обслуживания способом, я советую прочитать эту запись, в которой достаточно хорошо изложена большая часть встроенной автоматической десериализации JSON.

Статья по десериализации MVC JSON

... и потому что Stack OVerflow не позволяет мне публиковать 2 ссылки, потому что я "новичок", вам нужно будет google "jquery-json google code", чтобы найти подключаемый модуль jQuery JSON, который я использую.

Надеюсь, это поможет!

1 голос
/ 03 октября 2009
$('select#mySelect').attr('value');

Это даст вам выбранный вариант.

...