Позвоните в jQuery из ColdFusion - PullRequest
3 голосов
/ 01 марта 2010

Можно ли вызвать функцию jQuery из инструкции переключения ColdFusion? Если да, то как?

Ответы [ 4 ]

6 голосов
/ 01 марта 2010

Вы знаете, что смешиваете код клиента и сервера? Тем не менее, это действительно не проблема:

<script language="javascript">
    <cfswitch expression="#n#">
      <cfcase value="test1">
        $.something1()
      </cfcase>

      <cfcase value="test2">
        $.something2()
      </cfcase>
    </cfswitch>
</script>
3 голосов
/ 01 марта 2010

Нет. ColdFusion работает на сервере. jQuery работает на клиенте (браузере). Вы можете условно вывести (в зависимости от того, в каком случае вы нажали) код JavaScript, который вызовет функцию jQuery.

2 голосов
/ 02 марта 2010

Короткий ответ - нет. Как объяснил Мэтью, CF и JS работают в разных местах, и любая попытка заставить их обоих работать вместе, будет разочаровывающей.

Я, например, думаю, что не будет причин запускать код JavaScript со стороны сервера, поскольку вы можете просто запустить код JavaScript при загрузке страницы.

Возможно, вы пытаетесь достичь чего-то более простого, чем вы думаете, и простого

 $(document).ready(function(){
   // Your code here
 });
1 голос
/ 31 октября 2012

Ник, безусловно, прав в своем ответе в качестве одного из возможных решений. Тем не менее, для меня более чистый подход может выглядеть так:

var species = '#species#'; // convert cf variable for use in javascript

switch(species){
  case "cat":
      // cat code
  case "dog":
      // dog code
  case "zebra":
      // zebra code
}

Используя этот подход, вы максимально предотвращаете переплетение кода сервера и клиента, что приводит к более читаемому коду.

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