如何使用ajax添加链接以消除一组框
How to add a link to eliminate a set of boxes using ajax
我对这个代码有麻烦。我试图在最后添加一个消除链接,但我似乎无法消除当我按下添加链接时出现的5组内的所有框。我希望能够删除5个盒子里的所有盒子,其他的都不能删除。我试图做的是将这行代码放在var box_html5的末尾,但它不起作用。这是一个删除框的函数,我想让它删除这些框。
<a href="#" class="remove-box">Remove</a>
我试图在语句中创建一个循环,但它不正确。
我还考虑过制作一个if语句,上面的代码片段将在其中,并声明,如果该链接被按下,然后删除box_html1, box_html2, box_html3…等。对于所选的5个集合。我还尝试像这样回显代码:
echo ('<a href="#" class="remove-box">Remove</a>');
,它似乎仍然不工作。
<?php
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="//code.jquery.com/jquery-latest.js"></script>
<style type="text/css">
<!--
#main {
max-width: 800px;
margin: 0 auto;
}
-->
</style>
</head>
<body>
<div id="main">
<h1>Movie Night</h1>
<div class="my-form">
<form role="form" method="post">
<p class="text-box">
<label for="box1">Genre<span class="box-number">1</span></label>
<input type="text" name="boxes[]" value="" id="box1" />
<a class="add-box" href="#">Add More</a>
</p>
<p><input type="submit" value="Submit" /></p>
</form>
</div>
</div>
<script type="text/javascript">
jQuery(document).ready(function($){
$('.my-form .add-box').click(function(){
var n = $('.text-box').length + 1;
if( 15 < n ) {
alert('Too many. Not enought Time to watch');
return false;
}
var box_html1 = $('<p class="text-box">Movie<input name="mov1" type="text"></p>');
box_html1.hide();
$('.my-form p.text-box:last').after(box_html1);
box_html1.fadeIn('slow');
var box_html2 = $('<p class="text-box">Movie<input name="mov2" type="text"></p>');
box_html2.hide();
$('.my-form p.text-box:last').after(box_html2);
box_html2.fadeIn('slow');
var box_html3 = $('<p class="text-box">Movie<input name="mov3" type="text"></p>');
box_html3.hide();
$('.my-form p.text-box:last').after(box_html3);
box_html3.fadeIn('slow');
var box_html4 = $('<p class="text-box">Movie<input name="mov4" type="text"><a href="#" class="remove-box">Remove</a></p>');
box_html4.hide();
$('.my-form p.text-box:last').after(box_html4);
box_html4.fadeIn('slow');
var box_html5 = $('<p class="text-box">Movie<input name="mov5" type="text"></p>');
box_html5.hide();
$('.my-form p.text-box:last').after(box_html5);
box_html5.fadeIn('slow');
<!--<a href="#" class="remove-box">Remove</a>-->
return false;
});
$('.my-form').on('click', '.remove-box', function(){
$(this).parent().css( 'background-color', '#FF6C6C' );
$(this).parent().fadeOut("slow", function() {
$(this).remove();
$('.box-number').each(function(index){
$(this).text( index + 1 );
});
});
return false;
});
});
</script>
</body>
</html>
您需要探索索引和切片jquery函数。
在本例中删除操作处理程序:
$('.my-form').on('click', '.remove-box', function(event)
{
var index = $(this).parent().index();
$('.text-box').slice( index - 3, index + 2 ).remove();
event.preventDefault();
});
小提琴:http://jsfiddle.net/ejcXd/4/
相关文章:
- fluxxor向一个flux实例添加一组以上的操作
- 我们怎样才能将内含子J用于一组特定的元素
- 使用多个依赖项加载只进行一次AJAX调用
- 使用linq.js按当前日期订购一组momentjs日期
- 正则表达式,从一组关键字中获取奇数
- 创建一组元素JointJS
- 如何在javascript中获取一组复选框值
- 一组(共组..)
- 使用JS将页面中的每个字母设置为随机颜色.为什么在页面的每个打开标记之前总是有一组额外的span标记
- 在一组复选框中,一次只允许选择一个
- 为什么在fabricjs中可选择的不适用于一组圆
- 如何在不刷新页面的情况下每次单击一组选项卡时刷新视图内容窗格
- 将一组选中的复选框的值获取到 JavaScript 数组中,并在 ajax 请求中传递它们
- AJAX:将一组值发布到php
- Ajax从Laravel接收一组对象
- 如何实现一组jQuery AJAX查询
- 如何从AJAX回调中的setTimeout()中调用存储在一组选项中的函数
- 如何使用ajax添加链接以消除一组框
- 当一组ajax请求完成时运行代码
- 正在等待一组Ajax调用完成