单击一个按钮以模拟单击多个按钮

时间:2014-01-12 18:15:54

标签: javascript jquery accordion

我在嵌套的JQuery手风琴中有不同级别的大量按钮。这有点像电话簿,当点击按钮时,数字会被添加到通信工具中。

我希望在手风琴中的每个子级别的顶部放一个按钮,将按钮中的所有其余按钮添加到“To:”字段中。我想有一种优雅的方式可以用丑陋的方式做蛮力完成的事情。谢谢!

  <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 个答案:

答案 0 :(得分:1)

我会在所有“全部添加”按钮中添加相同的类:

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

并且还会为所有其他电话按钮添加相同的课程:

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

另外,在包含每个组的div中添加一个类,如下所示:

<div class="groupContainer">

然后,当点击“全部添加”按钮时,这将是jquery:

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

就是这样!

干杯