2012-12-28 84 views
1
<script type="text/javascript"> 
       $(document).ready(function() { 
      $('#Catid').change(function(){ 
       var optvalue = $(this).val(), 
       div = $('#' + 'parentid' + optvalue); 
       $('div').hide(); 
       div.show(); 
      }); 
     });​ 
       </script> 

即时得到一个控制台错误,但我不知道为什么这个语法有什么问题?

+1

你得到了什么错误?总是有帮助提供。也值得分享你想要做的事情。 – JasCav

回答

5

看起来你有最后一行的问题。这里有一个隐藏的角色。 删除它并重新写入,应该对它进行排序!

+0

Ah geat,实际上在其他线程中发现了它,那就是这个问题,尽管欢呼你的帮助! – user1906005

+0

哦,我的荣幸,但也许你应该坚持一个线程每个问题,这将阻止这种溢出:) –

+1

有没有一个在线工具来检查这样的东西?大卫,你用什么来找到它? – Shomz

2

你已经问过“这个语法有什么问题”,所以我想我应该指出这一点。

问题是与此验证码:

div = $('#' + 'parentid' + optvalue); 

的DIV是一个全局变量,它是考虑不好的做法。

更好的重写方法是将其作为初始变种的一部分。

var optvalue = $(this).val(), 
    div  = $('#' + 'parentid' + optvalue); 
+0

哦,所以如果我这样做,而不是: $(文件)。就绪(函数(){ \t \t \t \t \t $( '#CATID')变化(函数(){ \t \t \t \t \t \t变种optvalue = $(本).VAL(); \t \t \t \t \t \t变种newbit = $( '#' + 'parentId的' + optvalue); \t \t \t \t \t \t $('NE WBIT')隐藏(); \t \t \t \t \t \t $(newbit).show(); \t \t \t \t \t}); \t \t \t \t}); 更好吗? – user1906005

+0

是的,这也会起作用,但最好使用逗号添加其他变量,而不是每个新变量都使用“var”。所以“var x = 1; var y = 5; var z = 10;”与“var x = 1,y = 5,z = 10;”相同 – nolabel