2016-08-19 83 views
0

我在Asp.Net中有一个局部视图,该视图中有一个表格。的ID到该表被设置为它已通过例如“错误”,“警告”或“有效”,用将变量传递给函数时发生错误javascript不允许更改CSS

设置validity“类=‘@ validity.ToString()’”

我用一个按钮来调用该函数:

<button onclick=collapse(@validity.ToString())">Collapse</button> 

Script是

@section scripts 
{ 
    <script type="text/javascript" language="javascript"> 
     var x = false; 
     function collapse(cls) { 
      x = !x; 
      var add = '.'; 
      var Class = add.concat(cls); 
      if(x) 
       $(Class) 
        .css({ 
         'display': 'none' 
        }); 
      else { 
       $(Class) 
        .css({ 
         'display': 'table-row' 
        }); 
      } 
     }; 
    </script> 
} 

不知道为什么,这是不允许的Class设置该表的CSS改变

+0

控制台中的任何错误?你有没有尝试添加断点和调试?可能是选择器需要用引号括起来,'$(“Class”)' – Morpheus

+0

typo:onclick = collapse()“=> onclick =”collapse()“ –

回答

0

如果validity是一个字符串,或者将其转换为字符串,则需要用引号将其传递给Javascript函数。你可以这么做,或者安装Json.Net并执行此操作:

<button onclick=collapse(@(Html.Raw(JsonConvert.SerializeObject(validity))))">Collapse</button>