2014-05-13 28 views
0

如何在JQuery的追加方法中调用方法?如何在Javascript中显示viewbag元素?

我有一个HTML代码,我在其中使用append方法()单击按钮。 我想使用循环附加HTML与viewbag数据。 这是我的代码,是吗?

 <html> 
     <body> 
     <div class="row-fluid" id="MyCode"> 
     </div> 
     <button name="AddCode"></button> 
     </body> 
     </html> 

     <script type="text/javascript"> 

     $(document).ready(function() 
      { 

       $('#AddCode').click(function() { 

        $('#MyCode').append("<di ><div class='span2'>" + 

         //I want to call the function here... 
        AddDivs() 
      ); 

     }); 

function AddDivs() 
{ 
    var ht=""; 
    @foreach (var item in ViewBag.LocationList) 
{ 
ht += "<div id='"+item.Id+"_"+item.Name+"'></div>"; 
    } 
    } 

}); 
</script> 

其显示未定义。

+0

您还没有append方法关闭div标签! – stackunderflow

+0

它的一种伪代码......它在我的代码中工作......我得到有关数据的错误。请参阅我的评论... – bnil

+0

快速谷歌搜索“剃刀语法JavaScript”显示两个stackoverflow [问题](http://stackoverflow.com/questions/4599169/using-razor-within-javascript),应该[帮助你](http://stackoverflow.com/questions/4045308/razor-syntax-and-javascript)。这些词可能会有所不同,但问题是一样的。 – DaveParsons

回答

0

变化foreach环路与以下:

@foreach (var item in ViewBag.LocationList) 
{ 
    // these lines are client codes that is in server codes 
    <text>ht += "<div id='" + @item.Id + "_" + @item.Name + "'></div>";</text> 
} 
如果你不写你的js代码在 <text>

,剃刀假设ht是服务器变量。

+0

尝试过,错误是因为VileParle未定义错误是 - > function AddDivs() { var ht =“”; ht + =“

”; ht + =“
”; ht + =“
”; ht + =“
”; ht + =“
”; ht + =“
”; return ht; } – bnil

+0

不能赋值给ht,很重要? – bnil

0

script标签必须body标签内

 <script type="text/javascript"> 
      ...     
     </script> 
    </body> 
</html>