2012-02-23 87 views
1

我有麻烦低于其正在改变一些表格单元格的CSS属性的写操作后或从文本区域我需要优化我的代码

$('#par01par04text textarea').keyup(function() { 
      var n = $(this).val().length; 
      if (n > 0) { 
      $('#par01TextComments.comments').css('display','table-cell'); 
      $('#par01LabelComments.comments').css('display','table-cell'); 
      } 
      else if (n == 0){ 
      $('#par01TextComments.comments').css('display','none'); 
      $('#par01LabelComments.comments').css('display','none'); 
      } 
     }); 


     $('#par02par04text textarea').keyup(function() { 
      var n = $(this).val().length; 
      if (n > 0) { 
      $('#par02TextComments.comments').css('display','table-cell'); 
      $('#par02LabelComments.comments').css('display','table-cell'); 
      } 
      else if (n == 0){ 
      $('#par02TextComments.comments').css('display','none'); 
      $('#par02LabelComments.comments').css('display','none'); 
      } 
     }); 


     $('#par03par04text textarea').keyup(function() { 
      var n = $(this).val().length; 
      if (n > 0) { 
      $('#par03TextComments.comments').css('display','table-cell'); 
      $('#par03LabelComments.comments').css('display','table-cell'); 
      } 
      else if (n == 0){ 
      $('#par03TextComments.comments').css('display','none'); 
      $('#par03LabelComments.comments').css('display','none'); 
      } 

删除的文字我写了这个代码的代码的优化,但有错误“ $(textarea的)没有定义”我知道,我密切,可以在任何一个可以帮我把它一起

$.each(
     [ 
     { textarea: '#pom02par01UwagiText textarea', Text: '#pom02par01TextComments.comments', Label: '#pom02par01LabelComments.comments' }, 
     { textarea: '#pom02par02UwagiText textarea', Text: '#pom02par02TextComments.comments', Label: '#pom02par02LabelComments.comments' }, 
     { textarea: '#pom02par03UwagiText textarea', Text: '#pom03par02TextComments.comments', Label: '#pom02par03LabelComments.comments' }, 
     { textarea: '#pom02par04UwagiText textarea', Text: '#pom02par03TextComments.comments', Label: '#pom02par04LabelComments.comments' } 
     ], 
     function(index,value){  
     $(textarea).keyup(function() { 
      var n = $(textarea).val().length; 
      if (n > 0) { 
      $(value.Text).css('display','table-cell'); 
      $(value.Label).css('display','table-cell'); 
      } 
      else if (n == 0){ 
      $(value.Text).css('display','none'); 
      $(value.Label).css('display','none'); 
      } 
     }); 
     } 
    ); 
+1

我觉得你忘了'在选择器上...喜欢这个$('textarea') – silly 2012-02-23 16:04:12

+0

我不觉得这么傻,我认为vanhelgen已经钉在下面 – 2012-02-23 16:19:24

回答

2

你必须选择当前项目:

... 
function (index, value) { 
    var me = $(value.textarea); 
    me.keyup(function() { var n = me.val().length; ... }); 
} 
... 
+0

这很棒,thx队友 – gidzior 2012-02-23 16:15:04

+0

不用客气。顺便说一句,如果你认为某件事是解决你的答案,你应该将其标记为答案:) – mfeineis 2012-02-23 16:17:17