如何初始化使用jQuery

问题描述:

六 五 三 一个 如何初始化使用jQuery

开始在下拉价值观和我有控制器:

DBEntity context = new DBEntity(); // My EntityModel 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    public JsonResult GetStartValues() 
    { 
     var b = context.MyTable.ToList(); 
     return Json(ConvertObj(b)); 
    } 
    private object ConvertObj(List<MyTable> lst) 
    { 
     var list = new object[lst.Count]; 
     for (int i = 0; i < lst.Count; i++) 
     { 
      list[i] = new { value = lst[i].MyValue, name = lst_meals[i].MyText }; 
     } 
     return list; 
    } 

我的问题是:如何作为起始值Init这值使用jQuery。 我可以使用的解决方案是这样的:

public ActionResult Index() 
    { 
     var model = context.MyTable.ToList() 
     return View(model); 
    } 

在的.aspx

<select id="myDropdown" name="myDropdown"> 
    <% foreach(var obj in Model.MyTableList) {%> 
    <option value="<%: obj.MyValue %>"><%: obj.MyText %></option> 
    <% } %> 

但我想使用jQuery本)

我想填充下拉列表中进行异步调用到服务,但我不知道我必须使用什么事件...如果我试图填充下拉:

$(document).ready(function() { 
    $.post("/GetStartValues/", { }, function (data) { 
     populateDropdown($("#[id*='myDropdown']"), data); 
    }); 
} 

function populateDropdown(select, data) { 
     select.html(''); //clear all items 
     $.each(data, function (id, option) { 
      select.append($('<option></option>').val(option.value).html(option.name)); 
     }); 
} 

但它不工作。一旦页面加载,我想使用Jquery请求将值插入到DropDown中。

+0

你想如何使用jQuery?你想通过对服务进行异步调用来填充下拉列表,或者是否希望使用jQuery来读取包含数据的元素并通过它循环来填充下拉列表?你能否按照你的要求更新你的文章?谢谢! – 2010-07-30 14:26:50

+0

已更新)谢谢) – Leonid 2010-07-30 14:57:57

您的控制器是否返回了正确的Ajax?

我不确定你的ConvertObj是干什么的,但假设你正确地返回了Ajax,那么这个jQuery应该可以工作。

$.ajax({ 
      url: '/GetStartValues/', 
      type: 'POST', 
      data: { 
      }, 
      success: function (data) { 
       $('#myDropdown').html(''); 
       for (var i=0; i < data.length; i++) { 
        $('#myDropdown').append($('<option></option>').attr('value', data[0].value).text(data[0].name)); 
       } 
      } 
     }); 
+0

感谢回答)它的工作=) (但我用我的功能输入值DropDown) 函数populateDropdown(select,data){ ... }); 对不起(((我没有写ConvertObj函数,我会在几分钟内完成的。 – Leonid 2010-07-30 17:44:36