При загрузке JSP выборочно меняйте объявление Jquery на входные значения - PullRequest
1 голос
/ 28 января 2010

Gentlepeeps,

Я новичок в Jquery. Заранее извиняюсь за основной вопрос.

Я пытаюсь добавить Jquery в нашу среду Struts / JSP. Существующий код пронизан чистым JavaScript.

Я пишу правило проверки с помощью плагина проверки JQuery следующим образом:

$("#advanceValidateform").validate({ 
 rules: { 
  advanceAmt1: { min: 0, max: 23 },
  advanceAmt2: { min: 0, max: 24 },
  advanceAmt3: { min: 0, max: 26 }
  }

}); * * 1 010

Проблема:

  1. Значения max, min не могут быть жестко запрограммированы, но должны быть получены из моего класса действий (возможно, из запроса). Я обычно делаю это, вызывая параметры в моей функции jscript (код скрипта, передающий точные значения).
  2. advanceAmt1, 2 и 3 поступают из цикла

Решением было бы параметризовать все это, иметь правило проверки для advanceAmt с параметрами min, max и вызывать его для каждого входного элемента, содержащего «класс» .advanceAmt.

по сути, я требую проверки jquery:

  1. запускать на всех элементах с «классом» скажем .advanceAmt
  2. и выберите параметры min, max из самого входного тега (из скрипта я могу сгенерировать min = <% = x%> и max = <% = y%>)

Но я немного растерялся, как сделать то же самое с jquery. Это возможно? Если нет каких-либо предложений или лучших альтернатив?

Заранее спасибо. K

1 Ответ

2 голосов
/ 28 января 2010

На своей странице JSP вы можете использовать итератор JSTL, чтобы просмотреть коллекцию правил проверки и сгенерировать каждое из них. Это не влияет на код JavaScript, потому что JSTL оценивает на сервере, а полученный JavaScript оценивает на клиенте.

Например, предположим, у вас есть набор правил проверки, называемый validations , который был создан вашим действием.

  $("#advanceValidateform").validate({ 
    rules: { 
      <c:forEach var="v" items="${validations}" varStatus="loop">
         advanceAmt${v.id}: { min: ${v.min}, max: ${v.max} }${!loop.last ? ',' : ''}
      </c:forEach>  
    }
  });

Некоторые предположения - Ваша коллекция правил проверки содержит три свойства: id, min и max. Оператор if был необходим для добавления запятой между правилами, но не после последней.

Надеюсь, это немного поможет.

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