我有一个需要在bs模式下运行的脚本。我可以只运行“$(”#SeedId“)。on(”更改“,函数(){...”在jsfiddle中没有模态的东西,它工作正常。所以模态打开和console.log函数触发,但是更改函数上的seedid不会,即使它不是在模态中也是如此。
在视图中,我在底部呈现了脚本:
@section Scripts {
@Scripts.Render("~/Scripts/app/mixSeed.js")
}
mixSeed.js是jquery和unobtrusive ajax之后渲染的最后一个脚本。
mixSeed.js中的代码是:
$(function () {
var binUrl = $("#BinsUrl").val();
$('body').on('shown.bs.modal', '#modal-container', function () {
//cascading dropdown. Populate bin locations for given seed.
console.log("modal is now open");
$("#SeedId").on("change", function () {
var seed = $(this).val();
$("#BinId").empty();
console.log("seedid is: " + seed);
$.get({
url: binUrl,
data: { seedId: seed },
success: function (response) {
$.each(response, function (index, item) {
$("#BinId").append($('<option value="' + item.Value + '">' + item.Text + '</option>'));
});
}
})
})
})
})
$(“#SeedId”)是一个选择列表,就像$(“#BinId”)一样。 “模态现在打开”始终显示在控制台中,但“Seedid is”消息不会显示。
答案 0 :(得分:0)
我将shown.bs.modal更改为loaded.bs.modal并开始工作。