2015-12-30 3 views
0

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

SyntaxError: missing) after argument list 


};})(i); 

может кто-нибудь помочь мне с этой проблемой спасибо :)

Код:

<div id='pageBox'> 
    <ul id='pageContainer'> 
     <?php for($i=1;$i<=$pagenum;$i++){?> 
      <li><a href=''><?php echo $i;?></a></li> 
     <?php }?> 
    </ul> 
</div> 
<script> 
for(i=1;i<=<?php echo $pagenum;?>;i++){ 

     $('#pageContainer li a').click((function(i){return function(event){ 
       event.preventDefault(); 
       alert(i); 
      };})(i); 
    ); 

} 
+4

Последних ')' должен быть '}); '' click' – Tushar

+0

вы уверены в этом ..? last) для события click –

+0

С помощью цикла, который вы используете, вы будете создавать дубликаты прослушивателей событий для тех же элементов. @Satpal имеет лучшее решение, которое стоит исследовать, когда вы изучаете javascript и будете использовать его последовательно при передаче значений с php на javascript. – synthet1c

ответ

2

Вам не нужно закрыть здесь. Это может быть достигнуто с помощью простого подхода. Упорство переменную PHP $i в data-* приставке пользовательского атрибута, который можно извлечь с помощью .data()

Изменить HTML, как

<ul id='pageContainer'> 
    <?php for($i=1;$i<=$pagenum;$i++){?> 
     <li><a href='' data-id='<?php echo $i;?>'><?php echo $i;?></a></li> 
    <?php }?> 
</ul> 

Script

$('#pageContainer li a').click(function(){ 
    alert($(this).data('id')); 
    }); 
+0

Я думал об этом .. но как я учусь, я предпочитаю придерживаться своего подхода :) –

+0

@ AL-zami, Его до вас, который когда-либо подходит, подходит вам. У меня все еще есть некоторые сомнения в вашем подходе. – Satpal

Смежные вопросы