如何初始化使用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中。
答
您的控制器是否返回了正确的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
你想如何使用jQuery?你想通过对服务进行异步调用来填充下拉列表,或者是否希望使用jQuery来读取包含数据的元素并通过它循环来填充下拉列表?你能否按照你的要求更新你的文章?谢谢! – 2010-07-30 14:26:50
已更新)谢谢) – Leonid 2010-07-30 14:57:57