javascript
  • php
  • 2014-09-22 38 views 0 likes 
    0

    我有這個功能我的onclick不起作用正確的方式應該是

    <?php 
    for($i = 1; $i <=9; $i++){ 
    print("<div id='cover'>"); 
    for ($j = 1; $j <= 9; $j++){ 
        if($i % $j == 8 || $i < $j || $i == $j){ 
         print("<div class='colors' onClick='hello($i, $j)'>"); 
        } else { 
         print("<div class='pinks' onClick='hello($i, $j)'>"); 
        } 
        print($i ."+". $j ." "); 
        print("</div>"); 
    } 
    print("</div>"); 
    
    } 
    ?> 
    

    將會產生與它的數字一堆股利。我希望能夠點擊它,並顯示添加兩個數字的結果。 我有那個

    function hello(r, t) 
    { 
        $("div.colors, div.pinks").html(r+t); 
    } 
    

    這個JavaScript函數,但我不知道如何讓只有一個DIV我點擊。我怎樣才能做到這一點?

    +2

    由於問題似乎與PHP無關,請發佈生成的html而不是php腳本。 – Oriol 2014-09-22 16:23:57

    +1

    ...不要全選。你已經在每個元素中設置了'click'處理程序,爲什麼再次選擇它(或者在這種情況下)?另外,內聯JS的boo-hiss。考慮使用'data-'屬性來代替,而不是突出的JS。 – 2014-09-22 16:24:37

    回答

    0

    假設你只想來計算用戶已經點擊的元素,則該方法應該更是這樣的:

    function calc(element, r, t) 
    { 
        element.innerHTML = r+t 
    } 
    

    而方法調用OFC是:

    <div><a href="#" onclick="calc(this,3,2);">3+2</a></div> 
    

    例如,看這個小提琴。

    http://jsfiddle.net/m9wkr0vz/


    爲了讓更多複雜的計算,而不對每個組合提供方法,你可以使用JavaScript的能力來評估表達式給出:

    function calc(element) 
    { 
        element.innerHTML = eval(element.innerHTML); 
    } 
    

    <div><a href="#" onclick="calc(this);">(7+1)/(2+2)</a></div> 
    

    看這個小提琴:http://jsfiddle.net/u20bgx83/

    +0

    謝謝你,這工作。 – 2014-09-22 17:17:00

    相關問題