2014-01-12 82 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

太好了!你能否将我的答案标记为已接受? –