2013-02-22 41 views
0

我在每個單元格中都有一個帶有id值和圖像的表格。 到目前爲止,我的代碼在用戶單擊該單元格時顯示單元ID。當用戶再次點擊同一個單元時,它也'取消顯示'該ID。我現在要做的是將數字10分配給我的表類,這樣當你點擊單元格時,它將顯示10,或者如果你點擊2個單元格,它將顯示20,但是如果你點擊其中一個細胞再次減去10.我希望這很容易理解。使用父單元格值進行基本數學運算

這裏是我到目前爲止的代碼: HTML:

<table> 
<tr> 
<td class='test' id='1'><img src='images/Dog.gif'/></td> 
<td class='test' id='2'><img src='images/Cat.gif'/></td> 
<td class='test' id='3'><img src='images/Mouse.gif'/></td> 
<td class='test' id='4'><img src='images/Human.gif'/></td> 
</tr> 
</table> 

JS:

$(document).ready(function() { 
var clicked = []; 
$('td.test').click(function() { 
    var found = clicked.indexOf(this.id);  
    if(found !== -1) { 
     clicked.splice(found, 1);  
    } else { 
     clicked.push(this.id); 
    } 
    $('#output').text(clicked.join(',')); 
}); 
}); 
+0

以防萬一我不夠清楚。任何具有「測試」級別的值都將具有值10 – user182 2013-02-22 20:55:10

+0

'clicked.length * 10'? – undefined 2013-02-22 20:57:31

回答

1

我不能完全肯定我理解你,但是這是它:

$('#output').text(clicked.length*10); 
+0

是的,雖然這不顯示單元ID。無論如何謝謝 – user182 2013-02-22 20:59:28

+0

你能用一個你想要輸出看起來像什麼的例子來更新你的問題嗎? – Barmar 2013-02-22 21:00:34

+0

其實男人,我可以從中得到它。 再次感謝:D – user182 2013-02-22 21:01:59

0

這應該很簡單。請嘗試以下內容

var score = 0; 

    $('td.test').click(function() { 
     var $this = $(this); 
     if (!$this.hasClass('clicked')) { 
      $this.addClass('clicked'); 
      score += 10; 
     } else { 
      $this.removeClass('clicked'); 
      score -= 10; 
     } 
     $('#output').text(score); 
    }); 
相關問題