2013-05-02 4 views
0

Я пытаюсь открыть диалоговое окно, щелкнув ссылку (Щелкните здесь) в виде списка. Попсор отлично работает, но когда я нажимаю любую ссылку «Нажмите здесь», он показывает название первых данных в списке. Я хочу показать соответствующий заголовок, когда нажимает на ссылку для каждого элемента данных. Index.phpYii List view popover

<?php $this->widget('zii.widgets.CListView', array(
     'dataProvider'=>$dataProvider, 
     'itemView'=>'_view', 
     'template'=>"{items}\n{pager}", 
)); ?> 

    <script> 
     $(document).ready(function() { 
      $("#closebtn").click(function() { 
      $("#dlg").hide('800', "swing", function() { $("#bkg").fadeOut("500"); }); 
      }); 
      $(".opn").click(function() { 
      if (document.getElementById('bkg').style.visibility == 'hidden') { 
       document.getElementById('bkg').style.visibility = ''; 
       $("#bkg").hide(); 
      } 
      if (document.getElementById('dlg').style.visibility == 'hidden') { 
       document.getElementById('dlg').style.visibility = ''; 
       $("#dlg").hide(); 
      } 
      $("#bkg").fadeIn(500, "linear", function() { $("#dlg").show(800, "swing"); }); 
      });  

     }); 
     </script> 

_view.php

<div class="post"> 
<?php echo $data->title; 
echo $data->author; 
?> 
</div> 
<div class="normal"> 

    <p><a href="#" class="opn">Click here</a></p> 

    </div> 

    <div class="blockbkg" id="bkg" style="visibility: hidden;"> 
    <div class="cont" id="dlg" style="visibility: hidden;"> 
     <div class="closebtn" title="Close" id="closebtn"></div> 
     <?php echo $data->title; ?> 
    </div> 
    </div> 
+0

@ Анеш: вы задали 21 вопрос и не отметили один из ответов, как ответили – 2013-11-20 10:02:28

ответ

1

Я думаю, что основная проблема заключается в том, что ваш _view.php, который можно использовать для создания каждого элемента списка, ставит много элементов внутри страница с таким же идентификатором [например, bkg и dlg]. Используемый javascript будет работать неправильно. Атрибут id должен быть уникальным на странице. Используйте атрибут класса и соответствующим образом настройте свой javascript.