#jquery #jquery-ui
Вопрос:
Я должен полностью перестроить классику ASP.NET сайты с интересным интерфейсом. Этот сайт имеет совершенно особый интерфейс с множеством различных виджетов $.
В HTML у меня есть только один простой тег, например
<div id="pnProcuringEntity" class='col-12 p-0' />
На этой странице работают виджеты, похожие
$.widget("Tender_Organization", {
options: {
anItem: "",
id: "",
OrganisationEditable: false,
ReadOnly: true,
OrganisationTitle: "",
name_prefix: "",
required: undefined
},
_create: function () {
this.options.id = id_w_feature ;
this._render();
},
_render: function () {
var aWD = document.createElement("div");
aWD.setAttribute("class", "row");
var el = this.options;
var PrefixId = "_" el.id;
var anItem = el.anItem;
var name_prefix = el.name_prefix;
controls = "<div class='col-md-6'> " .... "</div>"
---> (1)
$(aWD).append(controls);
translate(aWD);
this.element.html("");
this.element.html(aWD);
---> (2)
if (anItem.contactPoint != undefined) {
if (anItem.contactPoint.name.uk_UA != undefined)
anItem.PE_name = anItem.contactPoint.name.uk_UA;
else
anItem.PE_name = anItem.contactPoint.name;
....
}
Save: function () {...}
})
В пункте (1) свойство options пусто. Я вижу, как новый сгенерированный HTML добавляется в DOM. Но в пункте (2) неожиданно переменная anItem имеет значение, и форма может быть заполнена данными. Я не вижу никакого AJAX-запроса к серверу. В качестве альтернативы я ожидаю, что в такой строке формы (для получения статических данных с сервера)
var JsVariable = <% server Variable %>
но не нашли. JS-скрипты этого сайта огромны, более 130 тысяч строк. Каким образом значение anItem может получать данные с сервера?
На экране ниже я нахожусь в точке разрыва (2). Новый HTML добавлен в DOM, и данные неожиданно появляются в ПАРАМЕТРАХ переменных, но все еще не заполняются в форме.
Извините за мой вопрос, но я впервые столкнулся с подобным интерфейсом, полностью созданным виджетом jQuery. И этот интерфейс огромен, очевидно, я не понимаю, как работает виджет jQuery.
Комментарии:
1. Кажется, там много недостающих предметов. Например, где
id_w_feature
определяется? Что жеtranslate()
делать? Где это определено?2. @Извилистый. Это сайт на нескольких языках, перевод-это не более чем изменение украинско-английских литералов из сохраненного массива. Переменная id_w_feature упоминается только два раза. (1) определение var id_w_feature = 0; и второй раз в _create: метод.
3. Не знаю, как еще помочь в это время, так как я не могу воспроизвести проблему, так как это не минимальный, воспроизводимый пример. Я вижу, где
anItem
создается, и кажется, что он заполнен""
. Затем он переводится, и элементы добавляются на страницу, после чего я не уверен, куда все идет в этот момент.4. Спасибо. Я все еще не понимаю, как значение отображается в переменной anItem.