【发布时间】:2013-03-08 09:19:06
【问题描述】:
我正在尝试通过下拉菜单向页面添加多个 div。
我遇到的问题:
var antal = $('.room-holder').size();
var roomholder = '<div class="room-holder">' + $('.room-holder').html() + '</div>';
var rooms = "";
while ( $( this ).val() > ( antal + 0 ) ) {
rooms = rooms + roomholder;
antal++;
}
$( rooms ).insertAfter( $('.room-holder') );
rooms = "";
我也尝试过这样的 for 循环:
var many = ( $( this ).val() - antal );
for( i=0; i < many; i++){
rooms = rooms + roomholder;
}
$( rooms ).insertAfter( $('.room-holder') );
antal = $('.room-holder').size();
rooms = "";
下拉列表的值从 1 到 10
当我第一次选择时,我得到了正确数量的字段,但是当我第二次选择时,我得到了应该添加的数量加上 2-3 个字段。
有人知道为什么吗?
编辑:我将它添加到 jsfiddle:http://jsfiddle.net/gmKJw/
【问题讨论】:
-
你能在jsfiddle.net创建一个演示吗
-
这是事件处理函数的主体吗?如果是这样,我们能否看到绑定事件处理程序和完整(相关)函数声明的代码 - 那时代码中的
this会更加明显。下拉菜单的 HTML 也很好。 -
请您编辑您的问题并添加完整的 JavaScript 函数以及它是如何被调用的?知道
this是什么将非常有用。