2014-01-12 85 views
0

我在嵌套的JQuery手風琴中的不同層次上有一堆按鈕。這種功能就像電話本一樣,點擊按鈕時,數字會被添加到通信工具中。點擊一個按鈕來模擬點擊多個按鈕

我曾希望在手風琴的每個子水平的頂部放一個按鈕,將該子水平內的所有其餘按鈕添加到「收件人:」字段。我想,有一種優雅的方式可以做到我會以醜陋的方式通過暴力來完成的事情。謝謝!

<div id="accordion-nest"> 
    <h3>First group</h3> 
     <div> 
     <button id="allGroupOne">Add all of Group One</button> <-----Button I want 
     <button id="Guy1">Biff 555-1111</button> 
     <button id="Guy2">Tagg 555-1112</button> 
     <button id="Guy3">Mitt 555-1113</button> 
      ...... 
     </div> 
    <h3>Second group</h3> 
     <div> 
     <button id="Guy13">Jeb 555-2222</button> 
    </div> 
      <h3>Third group</h3> 
     <div> 
     <button id="Guy33">Uncle Jesse 555-99999</button> 
     </div> 
    </div> 

JS/JQuery的

$('button').click(function() { 

    var last8 = (this.textContent).slice(-8); 

    if (pageNames == '') { 
     pageNames = (this.textContent).slice(0, -8); 
    } else { 
     pageNames = pageNames + " " + (this.textContent).slice(0, -8); 
    } 

    if ($('#pageTo').val() != '') { 
     $('#pageTo').val($('#pageTo').val()+', '+ areaCode + last8); 
    } else { 
     $('#pageTo').val(areaCode+last8);  
    } 
} 
+1

您的電話簿示例中的假名稱使我的一天。我不知道爲什麼。 – erikrunia

回答

1

我同一個類添加到所有的 '全部添加' 按鈕:

<button class="allGroup">Add all of Group One</button> 

而且也將增加同一類所有其他手機按鈕:

<button class="phone" id="Guy1">Biff 555-1111</button> 

另外, DD一類包含每個組的div S,這樣的:

$(".allGroupOne").click(function(){ 
    var $parent = $(this).closest('.groupContainer'); //The parent div 
    $parent.find(".phone").trigger('click'); //This simulates each button click 
}); 

就是這樣:

<div class="groupContainer"> 

然後,點擊一個「添加全部」按鈕時,這將是jQuery的!

乾杯

+0

哇,快回復。在我花時間刷新網站的時候,你已經有了這個答案。這對名稱很有用,但它試圖將「添加所有第一組」按鈕添加到「收件人:」字段,儘管它不帶有.phone類。 – user3187894

+0

將$('button')更改爲$('button.phone')並解決了問題。但是,我仍然不明白爲什麼它試圖將「All Group One」按鈕添加到「To:」字段。是否試圖在整個div中添加所有內容,而不是div中的.phone類? – user3187894

+0

太好了!你能否將我的答案標記爲已接受? –