Javascript Jquery在ASP.NET MVC中不工作
我有一个模式弹出窗口,我想在其中使用一些级联下拉列表 当我将页面呈现为常规视图时,下拉菜单工作正常,但当我在模式弹出窗口中将其呈现为部分视图时,我将失去该功能 脚本现在似乎根本没有运行 以下是选择下拉值时应运行的代码:Javascript Jquery在ASP.NET MVC中不工作,javascript,jquery,asp.net,asp.net-mvc,Javascript,Jquery,Asp.net,Asp.net Mvc,我有一个模式弹出窗口,我想在其中使用一些级联下拉列表 当我将页面呈现为常规视图时,下拉菜单工作正常,但当我在模式弹出窗口中将其呈现为部分视图时,我将失去该功能 脚本现在似乎根本没有运行 以下是选择下拉值时应运行的代码: $("#artistSelect").change(function () { if ($(this).val() != "") { $("#pieceSelect").empty(); $("#productSelect").empty(); $.aja
$("#artistSelect").change(function () {
if ($(this).val() != "") {
$("#pieceSelect").empty();
$("#productSelect").empty();
$.ajax({
type: 'POST',
url: '@Url.Action("GetMasterImages")',
dataType: 'json',
data: {
artistId: $(this).val()
},
success: function (masterImages) {
$(masterImages).each(function (i, masterImage) {
$("#pieceSelect").append('<option value="' + masterImage.Value + '">' + masterImage.Text + '</option');
});
$("#productSelect").append('<option value="">-- Select Piece --</option>');
},
error: function (ex) {
alert('failed to get piece list.' + ex);
}
});
} else {
$("#pieceSelect").empty();
$("#productSelect").empty();
$("#productSelect").append('<option value="">-- Select Artist --</option>');
$("#pieceSelect").append('<option value="">-- Select Artist --</option>');
}
return false;
});
$("#pieceSelect").change(function () {
if ($(this).val() != "") {
$("#productSelect").empty();
$.ajax({
type: 'POST',
url: '@Url.Action("GetProducts")',
dataType: 'json',
data: {
imageMasterId: $(this).val()
},
success: function (products) {
$(products).each(function (i, product) {
$("#productSelect").append('<option value="' + product.Value + '">' + product.Text + '</option');
});
},
error: function (ex) {
alert('failed to get product list.' + ex);
}
});
} else {
$("#productSelect").empty();
$("#productSelect").append('<option value="">-- Select Piece --</option>');
}
return false;
});
$(“#artistSelect”)。更改(函数(){
if($(this.val()!=“”){
$(“#分段选择”).empty();
$(“#产品选择”).empty();
$.ajax({
键入:“POST”,
url:“@url.Action”(“GetMasterImages”),
数据类型:“json”,
数据:{
artistId:$(this.val()
},
成功:功能(masterImages){
$(主图像)。每个(功能(i,主图像){
$(“#pieceSelect”).append(“”+masterImage.Text+”这是因为在执行jQuery代码后加载了部分视图。因此更改事件不会与下拉列表绑定。如果在部分视图中创建脚本标记并将jQuery放在该标记中,则应该可以工作。如果希望将脚本保留在同一文件中,请使用事件触发器$('body')。关于('change','#Artist',function(e){//PUT YOUR CODE HERE})谢谢。这让它起作用了。我以前曾尝试将脚本移动到部分视图文件中,但我将它们放置在@部分,这导致它们不再起作用。
<div class="form-group">
<div class="row">
<div class="col-md-3">
@Html.DropDownList("Artist", Model.Dropdowns.ArtistItems, new { @id = "artistSelect", @class = "form-control" })
</div>
<div class="col-md-3">
@Html.DropDownList("Piece", new List<SelectListItem> { new SelectListItem { Text = "-- Select Artist --", Value = "" } }, new { @id = "pieceSelect", @class = "form-control" })
</div>
<div class="col-md-3">
@Html.DropDownListFor(m => m.CustomerItem.ItemID, new List<SelectListItem> { new SelectListItem { Text = "-- Select Artist --", Value = "" } }, new { @id = "productSelect", @class = "form-control" })
</div>
</div>