如何使用 JQuery 将相同的输入值克隆到其他输入?

Posted

技术标签:

【中文标题】如何使用 JQuery 将相同的输入值克隆到其他输入?【英文标题】:How to clone the same input value to other inputs using JQuery? 【发布时间】:2020-03-31 14:21:03 【问题描述】:

我需要将输入中的值(keyup)复制到其他人,但仅限于特定块中。 我使用类选择器从项目中获取 ID,然后使用 for 循环复制该值。 为什么console.log($('.claimed').attr('id'))一直在写D1值和ID?

<script>
    $(document).ready(function () 
       $(".claimed").keyup(function (e) 
          var claimed = $(this).val();
          var claimedid = $(".claimed").attr('id');
            console.log($('.claimed').attr('id'));
          for (var i = 0; i < 25; i++) 
             $("#" + claimedid + "S" + i).val(claimed);
          
       );
    );
</script>


<?for($day=1;$day<=3;$day++)?>
    <div class="">
        <div>
            <?echo "D".$day;?>
            <input class="claimed" type="text" name="Claimed<?=$day?>" id="D<?=$day?>">
        </div>
        <?for($student=0;$student<3;$student++)?>
            <div class="">S<?=$student?>D<?=$day?>
                <input class=""  type="text" id="D<?=$day?>S<?=$student?>">
            </div>
        <??>
    </div>
<??>

提前感谢任何可以帮助我并可能简化 jQuery 的人。

【问题讨论】:

使用var claimedid = $(this).attr('id'); 来获取调用keyup 事件的元素的ID 您好经验,谢谢!我没有复制它,因为所有输入的 ID 值总是不同 id="D=$day?>" 和 id="D=$day?>S=$student?>" 如你所见,我删除了我的评论后,我误读了 ID 的设置方式...... 优秀的经验,这就是错误!非常感谢! 它工作完美的家伙。这是我的第一个请求,在您的帮助下很快就解决了。这个地方不错……非常感谢! 【参考方案1】:

我相信这条线是问题所在

var claimedid = $(".claimed").attr('id');

该类有多个输入元素。

您可以改用$(this),因为您的事件处理程序的范围绑定到触发事件的特定元素。

【讨论】:

以上是关于如何使用 JQuery 将相同的输入值克隆到其他输入?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 jQuery 或 javascript 中克隆表单字段值?

Yii2动态表格wbraganca复制值到克隆字段[重复]

如何正确克隆(jQuery)通过 PIE 应用样式的元素?

如何使用3dsmax克隆功能?

如何将jquery克隆行附加到隐藏字段

在 jquery drop UI 中,如何使用正确的鼠标位置将拖动元素克隆到放置位置?