是否可以用相同的类名分隔div? 例如。
$(function() {
$(".instancesN").change(function() {
var value = $(this).val();
$(".instancesNContainer").empty();
for (var i = 1; i < value; i++) {
var block = $("<div>", {
class: "block"
});
$(block).append($("div.instancesNSpecifics").html());
$(".instancesNContainer").prepend(block);
}
});
/*$(".instancesNContainer").on('change', '.usersvmaddnewdivsN', function() {
var value = $(this).val();
$(".usersvmaddnewdivsNContainer").empty();
for (var i = 1; i < value; i++) {
var block = $("<div>", {
class: "block"
});
}
$(this).parent().append($("div.usersvmaddnewdivsNSpecifics").html());
$(".usersvmaddnewdivsNContainer").append(block);
});*/
$(this).on('change', ".usersvmaddnewdivsN", function() {
var value = $(this).val();
$(".usersvmaddnewdivsNContainer").empty();
for (var i = 1; i < value; i++) {
var block = $("<div>", {
class: "block"
});
$(block).append($(".usersvmaddnewdivsNSpecifics").html());
$(".usersvmaddnewdivsNContainer").append(block);
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='number' min="1" oninput="validity.valid||(value='1');" value="1" name='instancesN[]' placeholder="Instances #" class="instancesN form-control" />
<div class="instancesNContainer"></div>
<div class='instancesNSpecifics'>
<input type='number' min="1" oninput="validity.valid||(value='');" name='usersvmaddnewdivsN[]' placeholder="Add new Users" class="form-control usersvmaddnewdivsN" />
<div class="usersvmaddnewdivsNContainer"></div>
<div class='usersvmaddnewdivsNSpecifics'>
<div class="form-row">
<div class="col">
<input type="text" class="form-control usernamevmN" name='usernamevmN[]' placeholder="VM-Username" />
</div>
</div>
</div>
</div>
我的主要目标是创建不同的“用户”并具有彼此独立的多个“ VM-Username” div。
请参见下图。我有2个div“添加新用户”和4个“ VM-Username”。我的目标是拥有2个div“添加新用户”和第一个“ VM-Username”仅2个div,第二个“ VM-Username” 4个div而且那没有发生!
答案 0 :(得分:0)
您可以通过利用选择器上下文(请参阅https://api.jquery.com/jQuery/)来解决此问题,以仅影响您感兴趣的div。
$(this).on('change', ".usersvmaddnewdivsN", function() {
var value = $(this).val();
$(".usersvmaddnewdivsNContainer", $(this).parent()).empty(); // added: , $(this).parent()
for (var i = 1; i < value; i++) {
var block = $("<div>", {
class: "block"
});
$(block).append($(".usersvmaddnewdivsNSpecifics").html());
$(".usersvmaddnewdivsNContainer", $(this).parent()).append(block); // added: , $(this).parent()
}
});