Js脚本继续执行onchange

时间:2017-10-11 02:00:52

标签: javascript jquery html

以下代码不断添加文本框。我希望它只是添加第一个选择然后停止的东西。如果你按一个,然后按两个,它会再增加两个,然后如果你选择更多的话就继续这样做。

[One, Three, Five, ]
$(function(){
  $('select').on('change', function() {
  i = 1
  var y = parseInt(this.value) + 1
  	while (i != y)

  	{
  		$("#boxes").append('<input type="text" name="ticket_'+ i + '_name" placeholder="Ticket ' + i +' Type">');
  		$("#boxes").append('<input type="text" name="ticket_'+ i + '_price" placeholder="Ticket ' + i +' Price">');
  		$("#boxes").append('<input type="text" name="ticket_'+ i + '_quantity" placeholder="Ticket ' + i +' Quantity">');
  		$("#boxes").append('<p></p>');
  		i = i + 1

  		if (i == y){
  			return false
  		}
  	}
    
  })
});

1 个答案:

答案 0 :(得分:1)

`git commit -am "Committing from ruby script"` 函数会将您所加入的内容添加到您选择的元素的末尾(这是追加的定义)。所以你的代码说“每当选择一个选择选项时,最后加上这些选项”。

然而,听起来你不想在最后添加新的,你希望它们是唯一的,这意味着事先摆脱第一个。

.append()行上方,添加while(i != y)This将删除当前#boxes中的所有元素,为您提供一个空字段,用于放置新一轮字段。

另外,旁注,而不是$('#boxes').empty();以及whileif业务,使用return false循环可能会提供更好的服务。