2012-01-06 70 views
0

說一個父「div」中有三個「按鈕」元素。假設這些按鈕可以標記爲1,2,3或0,1,2,使用jQuery,是否有一種簡單的方法可以確定哪個按鈕被點擊的次數?確定使用jQuery按下哪個按鈕

這裏的HTML:

<div class="table-tabs"> 
    <button class="tab1 selected">Description</button> 
    <button class="tab2">Monitoring</button> 
    <button class="tab3">Change Logs</button> 
</div> 

我想知道電話號碼,這樣,當按下按鈕,我可以激活相應的表格。

+0

告訴我們預期的HTML,我們可以告訴你 – mcgrailm 2012-01-06 18:50:44

+2

是的,有。 HTML的樣子是什麼,你的JavaScript是什麼樣的? – 2012-01-06 18:51:00

回答

3

您可以使用.index()獲取按鈕的編號(凝視0)。

$('.table-tabs button').click(function(){ 
    console.log($(this).index('.table-tabs button')); 
}); 

DEMO:http://jsfiddle.net/UPKgm/

或者,您可以解析class並獲得標籤號碼,但需要更多的工作。

$('.table-tabs button').click(function() { 
    var classes = $(this).attr('class').split(' '), 
     tabID; 
    $.each(classes, function() { 
     if (this.indexOf('tab') === 0) { 
      tabID = this.replace('tab', ''); 
      return false; 
     } 
    }); 
    console.log(tabID); 
}); 

DEMO:http://jsfiddle.net/UPKgm/1/

+0

就是這樣!完善!我知道有這樣簡單的事情! – RyJ 2012-01-06 19:04:50

0

試試這個:按鈕被點擊其中

$('.table-tabs button').click(function(){ 

var btn = $(this).html(); 

alert(btn); 

}); 
+0

這實際上是一個很好的解決方案,因爲我基本上使用按鈕作爲選項卡而不是表單元素。理想情況下,我不想將數字存儲爲按鈕的值,因爲該屬性對於表單相關數據可能是必需的。 – RyJ 2012-01-06 18:58:22

+0

高興地幫助;-) – 2012-01-06 19:10:48

0

剛剛捕獲。 :)

http://jsfiddle.net/MetalFrog/9dDy9/5/

編輯:更新,以匹配您的示例HTML。

$(function(){ 
    $('.table-tabs button').click(function(){ 
     console.log($(this).text()); 
    }); 
}); 
+1

你的小提琴不起作用。 ''沒有'value'屬性。 – 2012-01-06 18:58:37

+1

@火箭因此改變文字。 :)在忘記鏈接之前,忘了在小提琴上點擊更新。 – MetalFrog 2012-01-06 19:00:51

0

假設你有類型的按鈕,其中,所述數量被設定爲輸入, 可以使用一個jQuery選擇器選擇類型的按鈕所有輸入的值的輸入,然後添加的函數的單擊事件,將讀出的值:

HTML:

<div> 
    <input type="button" value="1" /> 
    <input type="button" value="2" /> 
    <input type="button" value="3" /> 
</div> 

的JavaScript:

$(":input[type='button']").click(function() { 
     alert($(this).val()); 
    } 
) 

示例:http://jsfiddle.net/M6v5b/