2013-07-09 42 views
0

調用jQuery的我是新來的jQuery,並尋找一種方式來顯示/隱藏在MVC 4部分觀點我發現鏈接波紋管一個很好的例子,這裏複製的代碼的一部分,但它依賴於按鈕單擊事件。我需要的是通過代碼視圖中直接調用函數,雖然我不知道如何把它改寫了這個目的,我相信這是怎麼會從視圖剃刀代碼調用:需要從MVC

<script type="text/javascript">Foo("#div1")</script> 

http://forums.asp.net/t/1743071.aspx/1

<style type="text/css"> 
.inv 
{ 
    visibility: hidden; 
} 
.vis 
{ 
    visibility: visible; 
} 
</style> 

<div class="inv" id="div1"> 
    <h2>Div 1</h2> 
    <p> 
     Hidden at start 
    </p> 
    <button class="showhide">Hide this div again</button> 
</div> 
<script type="text/javascript"> 
    $(function() { 
     $(".showhide").click(function() { 
      $("#div1").toggleClass("vis"); 
      return false; 
     }); 
    }); 
</script> 

回答

0

與下面的代碼中,Foo方法被調用時,該文件已經準備好,因此並不需要一次點擊觸發。它將通過<div>的ID傳遞。

如果要有條件地稱之爲「富」基於ViewBag一個值,你只需防止視圖從渲染的JS代碼,使電話:

控制器:

ViewBag.SomeBooleanProperty = true; 

查看:

<script type="text/javascript"> 
    function Foo(divId) 
    { 
     $(divId).toggleClass("vis"); 
    }  

@if(ViewBag.SomeBooleanProperty) 
{ 
     $(function() { 
      Foo("#div1"); 
     }); 
} 
</script> 
+0

感謝您的回答。我試着撥打功能展示波紋管,但它給:JavaScript的運行時錯誤:「富」是未定義<腳本類型=「文/ JavaScript的」>美孚(「DIV1」) –

+0

我想通了,你說怎麼樣的功能是在文檔準備就緒時調用,但無論如何只能根據ViewBag的值調用它? –

+0

@BenJunior代碼已更新,因此只有在ViewBag中的值爲true時纔會調用它。 –