需要编写一个获取所有Selectlist选项值的Jquery,将它们存储在一个数组中并将它们发布到Action Method

时间:2011-08-12 12:11:21

标签: javascript jquery asp.net-mvc

需要帮助来编写一个获取所有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

};

1 个答案:

答案 0 :(得分:0)

这是一个freebe:http://jsfiddle.net/DavidLaberge/PyGey/8/

对于你的ajax你可能想要使用$ .post,$ .get或$ .ajax