2013-05-02 78 views
0

我想通過單擊列表視圖中的鏈接(單擊此處)來彈出對話框。 popover工作正常,但是當我點擊任何點擊鏈接時,它會顯示列表中第一個數據的標題。點擊每個數據項的鏈接時,我想顯示相應的標題。 的index.phpYii列表視圖彈出窗口

<?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

@Anesh:您提出了21個問題,並且從未標記答案中的一個爲答案 – 2013-11-20 10:02:28

回答

1

我認爲主要的問題是,你的_view.php,你用它來生成列表中的每個元素,往裏面的許多因素頁面具有相同的ID [例如bkgdlg]。您使用的JavaScript將無法正常工作。 id屬性在頁面中應該是唯一的。使用class屬性並相應地調整你的javascript。