Есть ли более быстрый способ загрузки jQuery DOM-объектов, чем этот? - PullRequest
0 голосов
/ 17 марта 2020

Я получил мой SessionMgr.cf c, работающий правильно благодаря Ageax. Мой вопрос сейчас заключается в том, является ли обработчик обратного вызова более быстрым, чем в настоящее время? Функция, которая заполняет showAll, находится здесь;

<cffunction name="GetShowAllDropDown" access="remote" output="true" returntype="any" returnFormat="json">
        <Cfquery name="qReportShowAll" datasource="#Request.AppPDS#">
            SELECT 0 AS rowValue, 'All' AS rowLabel
            UNION ALL
            SELECT 1 AS rowValue, 'Active' as rowLabel
            UNION ALL
            SELECT 2 AS rowValue, 'InActive' AS rowLabel
        </Cfquery>
    <cfset showAll = structNew()>
    <cfset showAll = serializeJSON(qReportShowAll)>
    <cfreturn showAll />
</cffunction>

- это моя основная функция верхнего уровня, которую я использую для каскадных действий, ShowAll загружает отчеты, выбирает отчет, загружает линии, выбирает строку, загружает узлы, созданные для it;

function loadShowAllReports() {
    $.ajax({
            url: 'cfc/Reports.cfc'
            , type: 'get'
            , async: false
            , dataType: 'json'
            , data: {
                 method: 'GetShowAllDropDown'
            },
          success: function(response) {
              $.each(response.DATA, function(i, row) {
                  // get value of first row as descriptions;
                  var val = row[0];
                  var descr = row[1]
                  //console.log(val);
                  // append new options
                  $('##cboShowAllReports').append($('<option/>', {
                      value: val,
                      text: descr
                  }));
              });
              // initially populate this with default value of session.rShowAll
              $('##cboShowAllReports').val(getValue('rShowAll'));
              // reset reports to match
              loadReports();
              loadReportsActive();
              loadCreateReportsActive();
              loadReportTypes();
              loadCreateReportTypes();
              // preload Line defaults
              loadLinesActive();
              loadLinesActiveSearch();
              loadLinesActiveCreate();
              loadLinesResult();
              loadLinesResultSearch();
              loadLinesResultCreate();
          },
          error: function(msg) {
              console.log('Error');
              console.log(msg);
          }
      });


     $('##cboShowAllReports').on('change', function() {
         // onChange event, update the session
         setValue('rShowAll', $(this).find(':selected').val());
         // then the selected value
         $('##cboShowAllReports').val($(this).find(':selected').val());
         //reset reports on change to match
         loadReports();
     });
 }

Предварительные загрузки просто создают раскрывающиеся списки заполнителей перед изменением их значений, указывающих c на то, что в отчете указано «rID», выбрана строка «lID». см. ниже; Slow Loading DOM Существует ли более быстрый способ загрузки заполнителей и их значений, и наилучшим способом для этого является функция callBack. Я знаю, задайте вопрос 3 инженерам и получите 3 разных ответа, которые работают, и аргумент, над которым лучше всего работает. Любой совет будет оценен. TIA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...