检查数组是否已启用按钮,并为每个" true"创建名称。

时间:2014-06-28 18:21:25

标签: javascript jquery

我不确定标题是否适合我的需要,但我希望它能接近我真正需要的。

所以我正在为个人使用制作一个小插件,我想知道如何快速创建“X”数量的按钮,这取决于我将需要多少社交按钮。

现在它是三个按钮,但我可以选择启用或禁用它们,就像在那里的每个插件一样。

所以我想知道的是我怎么知道用户在插件中启用或禁用了哪个按钮,然后为每个按钮创建不同的按钮操作和按钮文本。

以下是我所拥有的示例,我只想为每个启用的按钮创建确切的文本。

var socialsCount = 0,
    socials = [this.options.facebookButton, this.options.twitterButton, this.options.googleButton];


for (i = 0; i < socials.length; i++) {
    if (socials[i] === true) {
        socialsCount++;
    }
}

for (i = 0; i < socialsCount; i++) {
    $("<button />", {
        type: "button",
        class: "just some classes",
        text: 'Make button names ' + i
    }).appendTo(".vsd-body");
}

因此,在这种情况下,它将检查哪些按钮是真的并创建所需数量的“按钮”。让我们说在这种情况下“facebookButton和googleButton”是“true”,而“twitterButton”是“false”。

如何设置“文字:制作按钮名称”+我在那里为每个启用的按钮创建名称。

实施例: facebookButton - “facebook” twitterButton - “推特” googleButton - “google”

我希望你理解我的问题。我需要任何答案!

1 个答案:

答案 0 :(得分:1)

使用对象数组

var options = {
   buttons:[
      { enabled:true, label:"Facebook" },
      { enabled:false, label:"Twitter" },
      { enabled:true, label:"Google" }
   ]
};

for(var i=0; i<options.buttons; i++){
   if(options.buttons[i].enabled){
      $("<button />", {
          type: "button",
          class: "just some classes",
          text: options.buttons[i].label
      }).appendTo(".vsd-body");  
   }
}