需要帮助来编写一个获取所有Selectlist选项数据值并将它们存储在数组/集合中的Jquery。然后,此集合将在Ajax调用Action方法中发送,然后action方法将返回一个json对象/集合,并将此对象传递给为onsuccess指定的函数。
由于某些原因,服务器上的Action方法没有收到任何数据。但是,当我使用调试器检查javascript时,会填充数组“arr”。
public JsonResult GetPartPrice(int[] arr)
{
List<pidandprice> PidPriceList = new List<pidandprice>();
foreach (var pid in arr.Where(x => x != null ))
{
var Product = context.Products.First(x => x.ProductID == pid);
PidPriceList.Add(new pidandprice() { PartID = pid, Price = Product.ListPrice });
}
return Json(PidPriceList.Select(m => new {partid = m.PartID, price = m.Price}) );
}
<script type="text/javascript">
$(document).ready(function () {
var arr = new Array();
$('select option').each(function () {
arr.push($(this).val());
});
$.ajax({
type: "POST",
url: "http://localhost:50913/Customise/GetPartPrice",
data: arr,
success: function (data) { OnSuccess(data) }
});
});
function OnSuccess(data) {
alert(data.join(', '));
//This is where to write code to append
//all option names text with price difference
};
答案 0 :(得分:0)
这是一个freebe:http://jsfiddle.net/DavidLaberge/PyGey/8/
对于你的ajax你可能想要使用$ .post,$ .get或$ .ajax