为什么Javascript没有启动?
为什么JavaScript不能在这个项目上工作?有人能告诉我发生这种情况的原因吗?我还对我的\u布局上的脚本链接进行了注释,但仍然不起作用 模型为什么Javascript没有启动?,javascript,asp.net-mvc,cascadingdropdown,Javascript,Asp.net Mvc,Cascadingdropdown,为什么JavaScript不能在这个项目上工作?有人能告诉我发生这种情况的原因吗?我还对我的\u布局上的脚本链接进行了注释,但仍然不起作用 模型 您需要通过$.ajax()调用ajax 您写道: $.getJSON('@Url.Action(“Cities”),{provinceId:selectedProvinceId},函数(Cities){ var citiesSelect=$(“#SelectedCityId”); citiesSelect.empty(); $。每个(城市,功能(索引,
您需要通过$.ajax()调用ajax 您写道: $.getJSON('@Url.Action(“Cities”),{provinceId:selectedProvinceId},函数(Cities){ var citiesSelect=$(“#SelectedCityId”); citiesSelect.empty(); $。每个(城市,功能(索引,城市){ citiesSelect.append( $('') .attr('value',city.Id) .text(城市名称) ); }); }); 相反,您需要编写代码:
var citiesSelect = $('#SelectedCityId');
$.ajax({
url: "/Home/Cities",
type: "GET", //these is must
async: false, //these is optional
cache: false, //these is for IE
contentType: "application/json; charset=utf-8",
dataType: "json",
data: { provinceId: 1 },
success: function (data) {
$('#SelectedSuburbId').html("");
var cities=eval(data);
var citiesHtml = "";
for (i = 0; i < cities.length; i++) {
citiesHtml += '<option value="' + cities[i].Id + '" >' + cities[i].Name + '</option>';
}
$('#SelectedSuburbId').html(citiesHtml);
}
});
var citiesSelect=$('SelectedCityId');
$.ajax({
url:“/Home/Cities”,
键入:“GET”//这些是必须的
async:false,//这些是可选的
cache:false,//这些是IE的
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
数据:{provinceId:1},
成功:功能(数据){
$('#SelectedSuburbId').html(“”);
var cities=评估(数据);
var citiesHtml=“”;
对于(i=0;i
您可以通过“data”返回json调用,上面的代码下拉列表可以填充。 但是要获得这些值,需要在“Cities”方法的顶部运行一个查询。 并返回城市列表
public ActionResult Cities(int provinceId)
{
var cities = Enumerable.Range(1, 5).Select(x => new
{
Id = x,
Name = "city" + x
});
return Json(cities, JsonRequestBehavior.AllowGet);
}
}
在浏览器中打开Javascript控制台并加载页面。您看到错误了吗?控制台显示如下:加载资源失败:服务器响应状态为404(未找到)@user2021399该URL是否存在?通过404错误,看起来好像您在哪里定义了此操作结果城市和“郊区”?@rhughes是的,它显示了这个“”@jishnu saha谢谢你,但是这不起作用,上面的代码现在正在运行,我的下一个问题是,我如何将它绑定到数据库或用数据库填充下拉列表?async:false是必须的。@jinshu saha现在没事了jinshu谢谢你的建议。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FA_CS.Models.Credit;
namespace FA_CS.Controllers
{
public class HomeController : Controller
{
public ActionResult Spider()
{
var model = new CreditCarModel
{
Provinceses = Enumerable.Range(1, 10).Select(x => new Province
{
Id = (x + 1).ToString(),
Name = "Province" + x
})
};
return View(model);
}
public ActionResult Suburbs(int cityId)
{
var suburbs = Enumerable.Range(1, 5).Select(x => new
{
Id = x,
Name = "suburb" + x
});
return Json(suburbs, JsonRequestBehavior.AllowGet);
}
public ActionResult Cities(int provinceId)
{
var cities = Enumerable.Range(1, 5).Select(x => new
{
Id = x,
Name = "city" + x
});
return Json(cities, JsonRequestBehavior.AllowGet);
}
}
}
var citiesSelect = $('#SelectedCityId');
$.ajax({
url: "/Home/Cities",
type: "GET", //these is must
async: false, //these is optional
cache: false, //these is for IE
contentType: "application/json; charset=utf-8",
dataType: "json",
data: { provinceId: 1 },
success: function (data) {
$('#SelectedSuburbId').html("");
var cities=eval(data);
var citiesHtml = "";
for (i = 0; i < cities.length; i++) {
citiesHtml += '<option value="' + cities[i].Id + '" >' + cities[i].Name + '</option>';
}
$('#SelectedSuburbId').html(citiesHtml);
}
});
public ActionResult Cities(int provinceId)
{
var cities = Enumerable.Range(1, 5).Select(x => new
{
Id = x,
Name = "city" + x
});
return Json(cities, JsonRequestBehavior.AllowGet);
}
}