作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的页面有多个表单,我需要在其上使用相同的 JavaScript 代码。 JavaScript 代码向表单添加更多输入字段。该脚本工作正常,但向所有表单添加了输入字段。我需要它仅将字段添加到当前填写的表单中。到目前为止我还没有运气。
以下是其中一种表单的样子:
<form>
<div class="price-group">
<div class="price-fields">
<label>Multiple <a class="add-field" href="#"> Add Field</a></label>
<br><input maxlength="7" type="text" name="prices[]" />
</div><!--end form-group price-fields-->
</div><!--end price-group-->
</form>
这是我的 JavaScript:
$(document).ready(function($){
$('.price-group .add-field').click(function(e){
e.preventDefault();
var n = $('.price-fields').length;
$('.price-group').append('<div class=" price-fields"><input maxlength="7" type="text" name="prices[]" /><a class="remove-field pull-right" href="#">Remove</a></div><!--end form-group-->');
});
$('.price-group').on('click', '.remove-field', function(){
$(this).parent().fadeOut("slow", function() {
$(this).remove();
});
return false;
});
});
我设置了jsfiddle: JsFiddle Link
最佳答案
您可以使用jQuery closest
找到最近的.price-fields
到点击的<a>
标签:
$(document).ready(function($){
$('.price-group .add-field').click(function(e){
e.preventDefault();
var n = $('.price-fields').length;
$(this).closest('.price-group').append('<div class=" price-fields"><input maxlength="7" type="text" name="prices[]" /><a class="remove-field pull-right" href="#">Remove</a></div><!--end form-group-->');
});
$('.price-group').on('click', '.remove-field', function(){
$(this).parent().fadeOut("slow", function() {
$(this).remove();
});
return false;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<div class="price-group">
<div class="price-fields">
<label>Multiple <a class="add-field" href="#"> Add Field</a></label>
<br><input maxlength="7" type="text" name="prices[]" />
</div><!--end form-group price-fields-->
</div><!--end price-group-->
</form>
<form>
<div class="price-group">
<div class="price-fields">
<label>Multiple <a class="add-field" href="#"> Add Field</a></label>
<br><input maxlength="7" type="text" name="prices[]" />
</div><!--end form-group price-fields-->
</div><!--end price-group-->
</form>
<form>
<div class="price-group">
<div class="price-fields">
<label>Multiple <a class="add-field" href="#"> Add Field</a></label>
<br><input maxlength="7" type="text" name="prices[]" />
</div><!--end form-group price-fields-->
</div><!--end price-group-->
</form>
关于javascript - 对同一页面上的多个 html 表单重用 JavaScript 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085911/
我是一名优秀的程序员,十分优秀!