2011-11-08 10 views
0

2番目の関数を追加しようとすると、JavaScriptがそのページで機能しなくなります。あなたはそれが可能なエラーを助けることができますか?ありがとう。javascript関数がdocument.ready()の下で正しく機能しない

注:2番目の関数をコメントアウトすると、正常に動作し、PHPコードはCaKePHPの要素です。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#is_sublet").click(function() { 
      $("#sublet_dates").slideToggle(); 
      return false; 
     }); 
    }); 

    $(document).ready(function() { 
     $("#custom_rates").click(function() { 
      $(".avi_specialrates").append($('<?php echo $this->element('custom_price_per_night', array('config' => 'sec')); ?>'); 
      return false; 
     }); 
    }); 
</script> 
+4

が不足していますか? (つまり、ブラウザが受け取った出力) – lonesomeday

+1

オプションを選択してください:A]あなたのPHPは解析されません。 B] PHPはエスケープされていない一重引用符文字や改行文字を追加しました。 –

答えて

2

私はあなたが構文エラーがあると思います。変更:

$(".avi_specialrates").append($('<?php echo $this->element('custom_price_per_night', array('config' => 'sec')); ?>')); 
によって

$(".avi_specialrates").append($('<?php echo $this->element('custom_price_per_night', array('config' => 'sec')); ?>'); 

一つの括弧は、レンダリングされたコードは何

1

これは動作するはずです。

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#is_sublet").click(function() { 
    $("#sublet_dates").slideToggle(); 
    return false; 
    }); 

    $("#custom_rates").click(function() { 
    $(".avi_specialrates").append($('<?php echo $this->element('custom_price_per_night', array('config' => 'sec')); ?>')); 
    return false; 
    }); 
}); 
</script> 
4

この行:あなたはそれを見るために簡単ですPHPを削除した場合

$(".avi_specialrates").append($('<?php echo $this->element('custom_price_per_night', array('config' => 'sec')); ?>')); 

$(".avi_specialrates").append($('<?php echo $this->element('custom_price_per_night', array('config' => 'sec')); ?>'); 

が最後に別の閉じ括弧が必要です

持つ
$(".avi_specialrates").append($('<PHP WENT HERE>')/*right here you need a `)`*/; 

このようなエラーは、 eページが正常に機能しません。

+0

私はそれを試みましたが、それでも動作しません – user1036272

+0

コードの一部がコメントアウトされた後で動作することが分かっている場合は、問題の原因となる正確な場所を見つけるまでコメントを少なくしてください。また、おそらくあなたにいくつかの有用な情報を与えているので、エラーコンソールを確認してください。 PHPを実行した後、私が上記のように混乱した行は何のように見えますか? – Jasper

+0

また、私はその1行をコメントアウトしても、それでもJavascriptがクラッシュするようになります。 – user1036272

0

の代わりに(文書を)宣言は二回、このようにそれをやってみてください.ready:

<script type="text/javascript"> 
    $(document).ready(function(){ 
      $("#is_sublet").click(function() 
      { 
       $("#sublet_dates").slideToggle(); 
       return false; 
    }); 

    $("#custom_rates").click(function() 
    { 
     $(".avi_specialrates").append($('<?php echo $this->element('custom_price_per_night', array('config' => 'sec')); ?>'); 
     return false; 
    }); 
}); 
</script> 
+0

複数の '$(document).ready'コールバックが完全に受け入れられ、彼が記述している症状に対して責任を負いません。 – meagar

+0

問題を修正しました。 JavaScriptコードが内部に出力されているため、Javascriptがクラッシュしていたことが判明しました。私はそのコードを別の部門に入れ、それをコピーして追加しなければなりませんでした。 – user1036272

関連する問題