функции JavaScript не работают должным образом в document.ready () - PullRequest
0 голосов
/ 08 ноября 2011

Когда я пытаюсь добавить вторую функцию, JavaScript перестает работать на странице. Ребята, вы можете помочь с возможной ошибкой? Благодарю.

Примечание. Если я закомментирую вторую функцию, она будет работать нормально, а код 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 ]

4 голосов
/ 08 ноября 2011

Эта строка:

$(".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')); ?>'));

Если вы удалите PHP, его легче увидеть:

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

Наличие ошибок, подобных этой, помешает правильной работе JavaScript на странице.

2 голосов
/ 08 ноября 2011

Я думаю, что у вас есть синтаксическая ошибка.Изменение:

 $(".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 голос
/ 08 ноября 2011

Это должно работать.

<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 голосов
/ 08 ноября 2011

Вместо того, чтобы объявлять (документ). Уже дважды, попробуйте сделать это так:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...