我有以下javascript正在使用更改的选项来填写选择列表。
$(function () {
$("#bedrijvenauto").each(function () {
var target = $(this);
var dest = target.attr("data-autocomplete-destination");
target.autocomplete({
source: target.attr("data-autocomplete-source"),
select: function (event, ui) {
alert('selected bedrijf');
event.preventDefault();
target.val(ui.item.label);
$(dest).val(ui.item.value);
$("#projectenauto").val("");
alert('selected bedrijf');
alert($('#BEDRIJF_ID').val());
$.getJSON("/Project/GetListViaJson", { bedrijf: $('#BEDRIJF_ID').val() }, function (data) {
alert('selected bedrijf');
alert(data);
$("#PROJECT_ID").empty();
$("#PROJECT_ID").append(new Option("Maak een selectie", 0));
for (var i = 0; i < data.length; ++i) {
alert(data[i].value + ' ' + data[i].label);
$("#PROJECT_ID").append(new Option(data[i].label, data[i].value));
}
});
},
focus: function (event, ui) {
event.preventDefault();
target.val(ui.item.label);
}
});
target.val($("#BEDRIJF_NAAM").val());
});
它在我的开发电脑上就像一个魅力。即使数据返回结果,警报也全部出现。这与开发pc的区别在于,在调用getJSON之后没有给出任何结果 我觉得我在这里错过了一个细节。 我不习惯在网络服务器上进行调试,因为我通常在WPF中创建GUI应用程序,这是学生为他的假期而工作的工作,现在我不得不让他工作而不再在他身边。假期完成:-( 但不适合我。
答案 0 :(得分:1)
您的评论中指出的404错误表示您创建的网址不正确。始终使用@Url.Action()
方法确保正确生成它们。在你的脚本
var url = '@Url.Action("GetListViaJson", "Project")';
$.getJSON(url, { bedrijf: $('#BEDRIJF_ID').val() }, function (data) {
....
}
或者如果这是一个外部脚本,则在主视图中添加var url = '@Url.Action(...)';
(不在外部脚本文件中评估剃刀代码),或将其作为data-
属性添加到元素中处理
data-url = "@Url.Action(...)"
并使用var url = $(someElement).data('url');