如何使用 JQuery 将相同的输入值克隆到其他输入?
How to clone the same input value to other inputs using JQuery?
我需要将输入中的值 (keyup) 复制到其他输入中,但仅限于特定块中。
我使用 class 选择器从项目中获取 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 = $(".claimed").attr('id');
您有多个输入元素 class。
您可以改用 $(this)
,因为您的事件处理程序的范围绑定到触发事件的特定元素。
我需要将输入中的值 (keyup) 复制到其他输入中,但仅限于特定块中。
我使用 class 选择器从项目中获取 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 = $(".claimed").attr('id');
您有多个输入元素 class。
您可以改用 $(this)
,因为您的事件处理程序的范围绑定到触发事件的特定元素。