我有以下代码与我合作传递整个select元素:
Jquery :
errorChannel
控制器:
$(".btn").click(function () {
var values = $('#id_cat option');
var optionsData = $.map(values, function (option) {
return option.text;
});
$.ajax({
type: "POST",
url: "/Products/Test03",
datatype: "text",
data: JSON.stringify(optionsData), //pass this variable to post request as 'options'
contentType: "application/json; charset=utf-8",
success: function (data) {
//alert('Success'); //.html(data);
},
error: function () {
alert('ERROR'); //$("#testarea").html("ERROR");
}
});
});
现在我想在select元素中附加所选文本,并将其与整个select元素一起传递。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以使用:
data: JSON.stringify({
options: optionsData,
selected: $("#id_cat_option option:selected").text()
}), //pass this variable to post request as 'options'
这将在您的代码中发送JSON对象而不是数组。使用.option
元素获取所有选项的列表,使用.selected
获取所选选项的文本。
然后将控制器方法更改为
public ActionResult Test03(IEnumerable<string> options, string selected)