1

次のようなテーブルがあります。

割賦表

addClass(on)左下隅に表示されているように、クリックしたときにセルの背景色を価格 ( など) で変更し、他のセルの背景色も変更したい ( などaddClass(off))。

他のセル (テキストと色が異なるセル) に影響を与えたくありません。

クリックしたセルが属する行の ID も取得する必要があります。

これが行の構造です。

<tr class="taksit" id="tek">
    <td><b>Tek Çekim</b></td>
    <td><?=$sontutar?> TL</td>
    <td><?=$sontutar?> TL</td>
    <td><?=$sontutar?> TL</td>
    <td><?=$sontutar?> TL</td>
    <td><?=$sontutar?> TL</td>
    <td><?=$sontutar?> TL</td>
    <td><?=$sontutar?> TL</td>
</tr>

ここにあるいくつかのトリックを試しましたが、実行できませんでした。どうすればこれを行うことができますか?

4

2 に答える 2

1
$('table#uniqueID tbody td').on('click',function() {
    $(this).closest('tbody').find('td').removeClass('highlight');
    $(this).addClass('highlight');
});
于 2012-12-11T19:51:28.710 に答える
1
$("#table_selector td.clickable").on('click',function(){
  // cache $(this)
  var clickedElement = $(this);

  // remove background color from other clickable items 
  $("td.clickable").css('background','none');

  // change the background color of the clicked <td>    
  clickedElement.css('background','red');

  var rowId = clickedElement.closest('tr').attr('id');
});

ここで私が行ったことについて少し説明させてください。まず第一に、これらのクリックや背景の変更によって
すべての人が影響を受けるのは望ましくないとおっしゃいました。したがって、「クリック可能な」<td>すべての にクラスを与える必要があり、イベントを必要な要素に制限できます。もちろん、無視したいものに「noClick」クラスを追加して、反対のこともできます...<td>on('click')

. <td>_ .css('background','red');_

は、関数を使用してrowIdいる最も近い親要素を探すことによって抽出されます。次に、単に属性を調べます。<tr>closest()id

于 2012-12-11T19:55:30.387 に答える