2012-02-23 88 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