我试图从另一个下拉列表中选择项目时创建下拉列表。我使用$ .getJSON从控制器中的操作获取数据,这里是我的代码。 jQuery代码看起来是这样的。
$(function() {
$("#GroupName").change(function() {
//alert("Test");
var str = "";
$("select option:selected").each(function() {
str = $(this).val();
});
var url = '<%= Url.Action("GetMetrics", "Groups") %>';
$.getJSON(url, { id : str }, function(data) { $("#metrics").fillSelect(data); });
})
// .change();
});
我的观点看起来像这样。
<p><label for="GroupId">Group</label><br />
<%= Html.DropDownList("GroupName", "")%>
<span></span>
</p>
<p><label for="GroupId">Group</label><br />
<select id="metrics" >
</select>
<span></span>
</p>
和我的操作:
public ActionResult GetMetrics(string id)
{
int cId = Convert.ToInt16(id);
//var group = Group.GetGroupByID(cId);
List<Metric> metrics = Metric.GetMetrics(cId);
return Json(metrics);
}
这里是我的路由:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
问题是我无法从Jquery的传递参数和我的目标不添加列表项下拉列表是指标。请帮忙!