JS скрипты не работают в частичном представлении после его обновления
Проблема: partialview содержит js-скрипты, при первой загрузке они работают. После Второй загрузки js-скрипты перестают работать.
Описание: У меня есть частичная перезагрузка представления при изменении значения в selectbox (это вызывает эту функцию)
//этот элемент вызывает функции если пользователь изменит значение (месяц)
partialview снова загрузился
@(Html .DevExtreme() .SelectBox() .ID("id_sb_year") .DataSource(d => d .Mvc() .Controller("Ecp") .LoadAction("WezRok") .Key("Rok") ) .DisplayExpr("Rok") .ValueExpr("Rok") .SearchEnabled(true) .OnValueChanged("pobierzTabele") )
@(Html .DevExtreme() .SelectBox() .ID("id_sb_month") .DataSource(d => d .Mvc() .Controller("Ecp") .LoadAction("WezMiesiac") .Key("Miesiac") ) .DisplayExpr("DescMiesiac") .ValueExpr("Miesiac") .SearchEnabled(true) .OnValueChanged("pobierzTabele") )
Для работы функции необходимо выбрать два значения из двух полей выбора
function pobierzTabele() { var numerMiesiaca = $("#id_sb_month").dxSelectBox("instance").option("value") var numerRoku = $("#id_sb_year").dxSelectBox("instance").option("value") if (numerMiesiaca != null && numerRoku != null) { function daysInMonth(month, year) { return new Date(year, month, 0).getDate(); } var liczbaDni = daysInMonth(numerMiesiaca, numerRoku); var userDate = { numerMiesiaca: $("#id_sb_month").dxSelectBox("instance").option("value"), numerRoku: $("#id_sb_year").dxSelectBox("instance").option("value"), liczbaDni: liczbaDni }; $.ajax({ url: "@Url.Action("PartialTabelaEcp", "Home")", type: "POST", dataType: "html", data: {"userDate": JSON.stringify(userDate)}, cache: false, success: function (data) { $("#kartaEcp").html(data); }, failure: function (error) { alert(error); }, error: function (error) { alert(error); } }); } }
эффект: бросает этот partialview в это место
<div class="kartaEcp" name="kartaEcp" id="kartaEcp"> </div>
частичное представление:
@using AppEcp.Models @model ParentView @using (Html.BeginForm("Save", "Home", FormMethod.Post, new { id = "tableForm" })) { <table><table> } <script src="~/js/tabela/Arkusz.js"></script> <script src="~/js/tabela/halfStartEnd.js"></script> <script src="~/js/tabela/minimumEnds.js"></script>
Что я уже пробовал:
В настоящее время: Мне нужно обновить страницу, чтобы иметь возможность снова выбрать значение и снова загрузить partialview, что недопустимо
phil.o
Пробовали ли вы включить скрипт в начало самой страницы, а не в частичные представления?