2012-03-06 116 views

回答

2

我們看一些標記或輸入欄。下面的答案是假設輸入直接在td之內。

DEMO

HTML:

<table> 
    <tr> 
     <td> 
      <input type="text" class="number" /> 
     </td> 
     <td> 
      <input type="text" class="number" /> 
     </td> 
    <tr>   
     <td> 
      <input type="text" class="number" /> 
     </td> 
     <td> 
      <input type="text" class="number" /> 
     </td> 
    </tr> 
</table> 

JS:

$('.number').keyup(function() { 
    var number = $(this).val(); 

    try { 
     number = parseInt(number, 10); 
     if (number > 0) { 
      $(this).closest('td').addClass('highlight'); 
     } else { 
      $(this).closest('td').removeClass('highlight'); 
     } 

    } catch (e) {} 
}); 

CSS:

td { border: 1px solid black; padding: 10px; } 

td.highlight { border: 1px solid red; } 

input { width: 100px; } 
+0

您發佈的html代碼是正確的。我應該發佈它。謝謝回覆! – 2012-03-06 03:56:30

0

正好趕上輸入按鍵事件,並添加/刪除基於值類:

$('td input[type=text]').keypress(function(ev) { 
    var $input = $(this); 
    var $cell = $input.closest('td'); 

    if (Number($input.val()) > 0) $cell.addClass('highlight'); 
    else $cell.removeClass('highlight'); 
}); 
0

使用.change()函數,例如,像這樣的:

HTML

<input type="text" /> 

<table> 
    <tr> 
     <td>cell</td> 
    </tr> 
</table> 

的JavaScript

$('input').change(function() { 
    var val = parseInt($(this).val()); 
    if(val > 0) { 
     $('td').addClass('highlight'); 
    } else { 
     $('td').removeClass('highlight'); 
    } 
}); 

CSS

td.highlight { 
    background-color: cyan; 
} 

這裏有一個工作示例:

相關問題