在 div 到 jQuery 中追加数据 [不工作]
append data in div through jQuery [not Woking]
我想在 div 中附加 select 框和文本框,但我的代码不起作用。我尝试了我的目标并学习了其他线程代码,但同样我无法实现目标。
在这里,我展示了一个主要的 div,我在其中附加数据,但在我的真实情况下,我有动态 <div class="note" id="23203">
,这就是为什么我提到 div id
,它是独一无二的。
我想在单击 +
按钮时在 appendApp_body
中附加文本框和 select 框,如果单击 select 则同样删除 div ] -
div 按钮
请帮我改正一下。
我想要当我点击按钮时
var xMachine = 1;
$('.add_MoreMachine__button').click(function() {
var qty = $(this).attr("data-qty");
var maxMachineField = qty;
if (xMachine < maxMachineField) {
newrowMachine = '<div class="appendApp_body"><select class="custom-select font-size-sm shadow-none" name="product_name[]"><option>--</option><option>6 AMP (RF)</option></select ><input type="text" class="form-control" maxlength="50" name="productnumber[]" /></div><button type="button" class = "btn btn-danger btn-circle float-right remove_Machinebutton" ><i class="fa fa-minus"></i></button ></div>';
$('.appendApp_body:last').after(newrowMachine);
} else {
alert("Ops...! You have total " + maxMachineField + " allowed fields to fill and now you don't have extra permission to proceed this action. [error: limit-reached]");
return false;
}
});
$(".complaint_MachineFor4").on("click", ".remove_Machinebutton", function(e) {
e.preventDefault();
$(this).closest('<div>').remove();
xMachine--;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<div class="note" id="23203">
<div class="note-body">
<div class="note-added-on">
<select style="margin-bottom: 5px;" class="custom-select font-size-sm shadow-none" name="product_id[]">
<option value="Issue1">Issue1</option>
</select>
<div class="appendApp_body">
<select class="custom-select font-size-sm shadow-none" name="product_name[]">
<option selected="" value="0">--</option>
<option>6 AMP (RF)</option>
</select>
<input type="text" class="form-control" maxlength="50" name="productnumber[]" />
</div>
<button style="width: 100%; margin-top: 10px;" type="button" class="btn btn-success add_MoreMachine__button" data-qty="2"><i class="fa fa-plus"></i></button>
</div>
</div>
</div>
如果有多个 notes
divs,您可以使用 $(this).closest(".note-added-on")..
将生成的 divs 仅附加到单击按钮的位置。然后,要删除相同的内容,您可以使用 $(this).prev('.appendApp_body').remove()
删除 appendApp_body
div 并使用 $(this).remove()
删除按钮。
演示代码 :
$('.add_MoreMachine__button').click(function() {
var xMachine = $(this).closest('.note-added-on').find('.appendApp_body').length; //get length of cloned div
var maxMachineField = $(this).attr("data-qty");
//compare
if (xMachine < maxMachineField) {
//just add one extra class..`cloned..`
newrowMachine = '<div class="appendApp_body cloned"><select class="custom-select font-size-sm shadow-none" name="product_name[]"><option>--</option><option>6 AMP (RF)</option></select ><input type="text" class="form-control" maxlength="50" name="productnumber[]" /></div><button type="button" class = "btn btn-danger btn-circle float-right remove_Machinebutton" ><i class="fa fa-minus"></i></button></div>';
//append inside `note-added-on` div
$(this).closest(".note-added-on").append(newrowMachine);
} else {
alert("Ops...! You have total " + maxMachineField + " allowed fields to fill and now you don't have extra permission to proceed this action. [error: limit-reached]");
return false;
}
});
$(document).on("click", ".remove_Machinebutton", function(e) {
e.preventDefault();
$(this).prev('.appendApp_body').remove(); //get prev div
$(this).remove(); //remove button as well
});
.note {
border: 1px solid blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<div class="note" id="23203">
<div class="note-body">
<div class="note-added-on">
<select style="margin-bottom: 5px;" class="custom-select font-size-sm shadow-none" name="product_id[]">
<option value="Issue1">Issue1</option>
</select>
<div class="appendApp_body">
<select class="custom-select font-size-sm shadow-none" name="product_name[]">
<option selected="" value="0">--</option>
<option>6 AMP (RF)</option>
</select>
<input type="text" class="form-control" maxlength="50" name="productnumber[]" />
</div>
<button style="margin-top: 10px;" type="button" class="btn btn-success add_MoreMachine__button" data-qty="2"><i class="fa fa-plus"></i></button>
</div>
</div>
</div>
<div class="note" id="232031">
<div class="note-body">
<div class="note-added-on">
<select style="margin-bottom: 5px;" class="custom-select font-size-sm shadow-none" name="product_id[]">
<option value="Issue1">Issue1</option>
</select>
<div class="appendApp_body">
<select class="custom-select font-size-sm shadow-none" name="product_name[]">
<option selected="" value="0">--</option>
<option>6 AMP (RF)</option>
</select>
<input type="text" class="form-control" maxlength="50" name="productnumber[]" />
</div>
<button style="margin-top: 10px;" type="button" class="btn btn-success add_MoreMachine__button" data-qty="1"><i class="fa fa-plus"></i></button>
</div>
</div>
</div>
我想在 div 中附加 select 框和文本框,但我的代码不起作用。我尝试了我的目标并学习了其他线程代码,但同样我无法实现目标。
在这里,我展示了一个主要的 div,我在其中附加数据,但在我的真实情况下,我有动态 <div class="note" id="23203">
,这就是为什么我提到 div id
,它是独一无二的。
我想在单击 +
按钮时在 appendApp_body
中附加文本框和 select 框,如果单击 select 则同样删除 div ] -
div 按钮
请帮我改正一下。
我想要当我点击按钮时
var xMachine = 1;
$('.add_MoreMachine__button').click(function() {
var qty = $(this).attr("data-qty");
var maxMachineField = qty;
if (xMachine < maxMachineField) {
newrowMachine = '<div class="appendApp_body"><select class="custom-select font-size-sm shadow-none" name="product_name[]"><option>--</option><option>6 AMP (RF)</option></select ><input type="text" class="form-control" maxlength="50" name="productnumber[]" /></div><button type="button" class = "btn btn-danger btn-circle float-right remove_Machinebutton" ><i class="fa fa-minus"></i></button ></div>';
$('.appendApp_body:last').after(newrowMachine);
} else {
alert("Ops...! You have total " + maxMachineField + " allowed fields to fill and now you don't have extra permission to proceed this action. [error: limit-reached]");
return false;
}
});
$(".complaint_MachineFor4").on("click", ".remove_Machinebutton", function(e) {
e.preventDefault();
$(this).closest('<div>').remove();
xMachine--;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<div class="note" id="23203">
<div class="note-body">
<div class="note-added-on">
<select style="margin-bottom: 5px;" class="custom-select font-size-sm shadow-none" name="product_id[]">
<option value="Issue1">Issue1</option>
</select>
<div class="appendApp_body">
<select class="custom-select font-size-sm shadow-none" name="product_name[]">
<option selected="" value="0">--</option>
<option>6 AMP (RF)</option>
</select>
<input type="text" class="form-control" maxlength="50" name="productnumber[]" />
</div>
<button style="width: 100%; margin-top: 10px;" type="button" class="btn btn-success add_MoreMachine__button" data-qty="2"><i class="fa fa-plus"></i></button>
</div>
</div>
</div>
如果有多个 notes
divs,您可以使用 $(this).closest(".note-added-on")..
将生成的 divs 仅附加到单击按钮的位置。然后,要删除相同的内容,您可以使用 $(this).prev('.appendApp_body').remove()
删除 appendApp_body
div 并使用 $(this).remove()
删除按钮。
演示代码 :
$('.add_MoreMachine__button').click(function() {
var xMachine = $(this).closest('.note-added-on').find('.appendApp_body').length; //get length of cloned div
var maxMachineField = $(this).attr("data-qty");
//compare
if (xMachine < maxMachineField) {
//just add one extra class..`cloned..`
newrowMachine = '<div class="appendApp_body cloned"><select class="custom-select font-size-sm shadow-none" name="product_name[]"><option>--</option><option>6 AMP (RF)</option></select ><input type="text" class="form-control" maxlength="50" name="productnumber[]" /></div><button type="button" class = "btn btn-danger btn-circle float-right remove_Machinebutton" ><i class="fa fa-minus"></i></button></div>';
//append inside `note-added-on` div
$(this).closest(".note-added-on").append(newrowMachine);
} else {
alert("Ops...! You have total " + maxMachineField + " allowed fields to fill and now you don't have extra permission to proceed this action. [error: limit-reached]");
return false;
}
});
$(document).on("click", ".remove_Machinebutton", function(e) {
e.preventDefault();
$(this).prev('.appendApp_body').remove(); //get prev div
$(this).remove(); //remove button as well
});
.note {
border: 1px solid blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<div class="note" id="23203">
<div class="note-body">
<div class="note-added-on">
<select style="margin-bottom: 5px;" class="custom-select font-size-sm shadow-none" name="product_id[]">
<option value="Issue1">Issue1</option>
</select>
<div class="appendApp_body">
<select class="custom-select font-size-sm shadow-none" name="product_name[]">
<option selected="" value="0">--</option>
<option>6 AMP (RF)</option>
</select>
<input type="text" class="form-control" maxlength="50" name="productnumber[]" />
</div>
<button style="margin-top: 10px;" type="button" class="btn btn-success add_MoreMachine__button" data-qty="2"><i class="fa fa-plus"></i></button>
</div>
</div>
</div>
<div class="note" id="232031">
<div class="note-body">
<div class="note-added-on">
<select style="margin-bottom: 5px;" class="custom-select font-size-sm shadow-none" name="product_id[]">
<option value="Issue1">Issue1</option>
</select>
<div class="appendApp_body">
<select class="custom-select font-size-sm shadow-none" name="product_name[]">
<option selected="" value="0">--</option>
<option>6 AMP (RF)</option>
</select>
<input type="text" class="form-control" maxlength="50" name="productnumber[]" />
</div>
<button style="margin-top: 10px;" type="button" class="btn btn-success add_MoreMachine__button" data-qty="1"><i class="fa fa-plus"></i></button>
</div>
</div>
</div>