在按钮单击时显示字符串的每个字符

时间:2013-12-04 20:48:41

标签: javascript jquery

我是jQuery的新手,我正在尝试在单击按钮时显示字符串的字母。我希望每次点击按钮时,显示的值是“b”,然后是“ba”,然后是“bar”,但是现在当点击按钮时,唯一显示的是“b”。这是我的代码 - 非常感谢任何帮助!

$(".letter").on('click', function(event){

  var foo = "bar"
  var split = foo.split('');
  $('.answer').val(split[0]);
  split.splice(0,1);


});

5 个答案:

答案 0 :(得分:2)

DEMO

这与jQuery几乎没有关系。您只需要更多的JavaScript - 您需要将当前索引存储在某处,并在处理程序中将其递增

var index = -1;
$(".letter").on('click', function(event){
  var foo = "bar"

  if (index == foo.length - 1) return;
  $('.answer').val($('.answer').val() + foo.charAt(++index));
});

答案 1 :(得分:2)

设置一个计数器!每次单击,它都会显示子字符串版本!

var count = 1;
$(".letter").on('click', function(event){
    var foo = "bar";
    if (count < foo.length) { //set an if so that it stops incrementing
        var split = foo.substr(0,count);
        $('.answer').val(split);
        count++;
    } else {
        $(".answer").val(foo);
    }
});

答案 2 :(得分:0)

你可以制作foo并拆分全局,你就完成了:D

var foo = "bar"
var split = foo.split('');

$(".letter").on('click', function(event){

  alert(split[0]);
  split.splice(0,1);


});

工作示例:jsfiddle

答案 3 :(得分:0)

为什么即使拆分它,只需用反制想法做一个子串

设置一个计数器!

    var count = 2;
    $(".letter").on('click', function(event){
      var foo = "bar"
      $('.answer').val(foo.substring(1,count));
      count++
    });

答案 4 :(得分:0)

此代码使用输出的长度而不是内部计数器

    var foo = 'bar';
    $(".letter").on('click', function (event) {
        $('.answer').val(foo.substring(0,$('.answer').val().length +1));
    });