3

是否可以动态创建引导按钮?我有一个文本文件,其中包含一个项目列表,我将在其中使用 javascript 创建一个数组。这就是我想动态创建引导按钮的地方,这些项目是每个按钮中的文本。如果文本文件中有 10 个项目,则会创建 10 个按钮。有人可以告诉我怎么做,或者给我一些关于它的教程。

编辑(现在可以创建,但不能检查是否创建按钮的代码):

创建按钮():

$(function() {
  $.ajax({
    url : 'http://localhost:8080/SSAD/type.txt',
    dataType : "text",
    success : function (filecontent) {
      var lines=filecontent.split('\n');
      $.each(lines, function() {
        if (this!='') {
            var word = this;
            word = word.toLowerCase().replace(/(?:_| |\b)(\w)/g, function(str, p1) { return p1.toUpperCase();});
            if ($('button:contains("'+word+'")').length==0) {
                var button='<button type="button" class="btn btn-block btn-inverse active" data-toggle="button tooltip" title="Click this to enable/disable viewing of'+this+'" onclick="toggleVisibility('+"'"+this+"'"+')">'+word+'</button>';
                $(".crisisButtons").append(button);
            }
        }
      });
    }
  });
});

HTML:

<button type="button" class="btn btn-block btn-inverse" onclick="createButtons">Click me!</button>

<div class="crisisButtons"></div>
4

1 回答 1

7

是的。这很容易。

文本文件.txt

button1
button2
button3
button4
button5
button6
button7
button8
button9
button10

代码

<div id="textfile-buttons"></div>

<script type="text/javascript">
$(document).ready(function() {
  $.ajax({
    url : 'textfile.txt',
    dataType : "text",
    success : function (filecontent) {
      var lines=filecontent.split('\n');
      $.each(lines, function() {
        if (this!='') {
          var button='<button class="btn btn-primary">'+this+'</button>&nbsp;';
          $("#textfile-buttons").append(button);
        }
      });
    }
  });
});
</script>

结果 在此处输入图像描述

当然,您需要为click按钮分配一个 -handler,或者如果您使用<a>-tags 而不是<button>.


更新

如果要检查button带有特定文本的 a 是否已经存在,请修改$.each循环

$.each(lines, function() {
  if (this!='') {
    //check if a button with "this" text not already exists
    if ($('button:contains("'+this+'")').length==0) {
      var button='<button class="btn btn-primary">'+this+'</button>&nbsp;';
      $("#textfile-buttons").append(button);
    }
  }
});

所以,即使 textfile.txt 包含 button1 button2 button3 button3 button3 button3 button7 button8 button9 button10

只会创建一个 button3。

于 2013-04-01T10:29:53.133 回答