Javascript 根据输入的数字显示行

Javascript 根据输入的数字显示行,javascript,jquery,html,Javascript,Jquery,Html,我需要根据用户的输入动态添加(克隆)/删除div。 如果用户将输入数字更改为4或10,则必须显示div 4或10次 另外,我需要修改克隆div中的输入名称(就像name_1一样) 现在我试着这样做: var $row = $('.row-with-fields'); var $clone = $row.clone(); $(".qty").on("keyup keydown change",function(event){ $qty = $(thi

我需要根据用户的输入动态添加(克隆)/删除div。 如果用户将输入数字更改为4或10,则必须显示div 4或10次

另外,我需要修改克隆div中的输入名称(就像name_1一样)

现在我试着这样做:

    var $row    = $('.row-with-fields');
    var $clone = $row.clone();

    $(".qty").on("keyup keydown change",function(event){
        $qty = $(this).val(); // how many rows I needs

        for(var i = 0; i < $qty; i++){
            $row.after($clone.addClass('row_'+i));
        }

    });
var$row=$('.row with fields');
var$clone=$row.clone();
美元(“.qty”)。打开(“上键下键更改”,函数(事件){
$qty=$(this).val();//我需要多少行
对于(变量i=0;i<$qty;i++){
$row.after($clone.addClass('row_'+i));
}
});

<代码> > p>你应该考虑两种情况:

1-Clone()函数是对元素的引用

2-您应该检查事件触发次数(我只使用
change
event)

var$row=$('.row with fields');
美元(“.qty”)。在(“更改”,功能(事件){
$qty=$(this).val();//我需要多少行
对于(变量i=0;i<$qty;i++){
var$clone=$('.row with fields:first').clone();
$row.after($clone.addClass('row_'+i));
}
});

最后我这样做了:

    var $row    = $('.rsvp-qty-fields');

    $(".tribe-ticket-quantity").on("keyup keydown change",function(event){
        $qty = $(this).val();
        $rowsExist = $('.rsvp-qty-fields').length;

        if ($rowsExist < $qty) {

            for(var i = $rowsExist; i < $qty; i++){
                var $clone = $('.rsvp-qty-fields:first').clone().removeClass('receiver');
                $clone.find('.receiver').remove()
                $row.after($clone.addClass('row_'+i));
            }
            console.log('add');

        } else if($rowsExist > $qty) {
            for(var i = $rowsExist; i > $qty; i--){
                if (!($rowsExist <= 1)) {
                 $('.rsvp-qty-fields-wraper').children('.rsvp-qty-fields').last().remove();
                } else {
                  console.log('stop remove');
                }

        }
          console.log('remove');

     } else {

          console.log('equal');

     }
var$row=$('.rsvp数量字段');
美元(“.tribe票证数量”)。打开(“键向上键向下更改”,功能(事件){
$qty=$(this.val();
$rowsExist=$('.rsvp数量字段')。长度;
如果($rowsExist<$qty){
对于(变量i=$rowsExist;i<$qty;i++){
var$clone=$('.rsvp数量字段:first').clone().removeClass('receiver');
$clone.find('.receiver').remove()
$row.after($clone.addClass('row_'+i));
}
console.log('add');
}else if($rowsExist>$qty){
对于(变量i=$rowsExist;i>$qty;i--){

如果(!($row)性别歧视,你的HTML在哪里?而且,你问什么也不清楚。
    var $row    = $('.rsvp-qty-fields');

    $(".tribe-ticket-quantity").on("keyup keydown change",function(event){
        $qty = $(this).val();
        $rowsExist = $('.rsvp-qty-fields').length;

        if ($rowsExist < $qty) {

            for(var i = $rowsExist; i < $qty; i++){
                var $clone = $('.rsvp-qty-fields:first').clone().removeClass('receiver');
                $clone.find('.receiver').remove()
                $row.after($clone.addClass('row_'+i));
            }
            console.log('add');

        } else if($rowsExist > $qty) {
            for(var i = $rowsExist; i > $qty; i--){
                if (!($rowsExist <= 1)) {
                 $('.rsvp-qty-fields-wraper').children('.rsvp-qty-fields').last().remove();
                } else {
                  console.log('stop remove');
                }

        }
          console.log('remove');

     } else {

          console.log('equal');

     }