2016-08-01 62 views
0

當我點擊任何面板時,如何將數據動態顯示到引導面板中?當我單擊數據只顯示在第一個面板中的每個面板時。如何通過javascript動態顯示數據到引導面板?

指數

<div class="panel panel-info class" style="height: 450px; width: 300px; overflow-y:scroll;"> 
     @foreach (var item in lstCategory) 
     { 
      <div class="panel-heading" id="panel-heading"> 
       <h4 class="panel-title"> 
        <a data-toggle="collapse" onclick="collapse(@item.Id);" data-parent="#accordion" href="#@item.Id">@item.Name</a> 
       </h4> 
     </div> 

     <div id="@item.Id" class="panel-collapse collapse in"> 
      <div id="file"> 
      </div> 
     </div> 

     } 

</div> 

的JavaScript

function collapse(id) { 
    var id = id; 

       $.ajax({ 
        type: "GET", 
        url: "/Document/GetFileList", 
        data:{id:id}, 
        success: function (response) { 
         //var panelbar = $find("<%= %>"); 
         $("#file").html(response); 


        } 
       }); 
} 

enter image description here enter image description here

回答

1

你的javascript代碼該行補充說一切都在同一格,即使你有多個div,因爲你做的不區分每個div的id。

$("#file").html(response); 

的解決方案是增加不同的ID對每個div都使用@item.Id,然後使用該ID添加上正確的ID正確的內容。

如添加ID在DIV上

<div id="[email protected]"> 
</div> 

然後在JavaScript中使用的ID找到該專區。

function collapse(id) { 
    var id = id; 
    $.ajax({ 
     type: "GET", 
     url: "/Document/GetFileList", 
     data:{id:id}, 
     success: function (response) { 
      $("#file_" + id).html(response); 
     } 
    }); 
} 
+1

謝謝Aristos.It工程:) –

+0

Aristos的,u能告訴我怎樣才能得到展開的面板值/ ID /名稱?我嘗試過,但獲得第一個面板名稱/編號阿爾維斯。 @item.Name var panelId = $(「。collapse」)。attr(「name」); –

+0

@MehediIslam這是一個不同的問題,你必須採取與此類似的行動 – Aristos

1

這是因爲您注射Ajax調用的響應與文件的ID,這將永遠把它添加到第一個面板股利。嘗試添加一個類到由id構造的文件div中,然後注入到該元素中。像...

<div class="[email protected]"></div> 

,然後做

$(".file_" + id).html(response); 

在你的成功回調

+0

嗨Bencrinkle,你能告訴我如何獲得擴大面板價值/ ID /名稱?我嘗試過,但獲得第一個面板名稱/編號阿爾維斯。 @item.Name var panelId = $(「。collapse」)。attr(「name」); –