js代码求助,堵住了,很急很急! help!
时间:2011-08-31
来源:互联网
如下代码中点击继续按钮生成新的标题和内容的时候,当点击radio之后,再点击之前第一个的添加按钮就会生成两个text和删除按钮,如果点击几次radio,那么点击添加按钮,就会生成几个text和删除按钮的。但我想要的是不管是在哪里,只要点击一次添加按钮,就只生成一个text和删除按钮。
php代码
<table class="formTable">
<tbody>
<tr>
<th><input type="checkbox" name="title_idx[]" value="">{=_('标题')}</th>
<td colspan="3"><input type="text" name="title[]" value="" ></td>
</tr>
<tr>
<th>{=_('内容')}</th>
<td colspan="3">
<input type="radio" id="radio" name="select[]" value="radio"> radio button
<br>
</td>
</tr>
</tbody>
</table>
<br>
<div class="edit">
<button class="btn" id="add">继续</button>
<button class="btn" id="del">删除</button>
</div>
JS 代码
(function($){
$(document).ready(function(){
$('#radio').click(function(){
$(this).parent().find('input[type="text"]').remove();
$(this).parent().find('button').remove();
var tr_last = $('.formTable tbody tr td').eq(1);
if(tr_last.find('.btn_radio_opt').length < 1)
{
tr_last.append('<span style="display:block;margin-top:5px"><input type="text" name="radio[]" value=""><button name="radio_btn_add" class="btn_radio_opt">添加</button></span>');
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value=""><button name="radio_btn_del" class="btn_radio_del_opt">删除</button></span></div> ');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
}
});
var i = 0;
$('#add').click(function(){
i++;
if($('.formTable tbody tr').eq(1).find('input[type=radio]:checked').length!= 0)
{
var tr_last = $('.formTable tbody tr:last');
$(tr_last).after($('.formTable tbody tr').eq(1).clone()).after($('.formTable tbody tr').eq(0).clone());
$('.formTable tbody tr').eq(1).find('input:radio').each(function(){
var oldname = $(this).attr("name").substr(0,8);
$(this).attr("name",oldname+i);
});
$('.formTable tbody tr').eq(0).find('input[type=checkbox]').attr("checked",false);
$('.formTable tbody tr').eq(0).find(':input[type=text]').val("");
$(".formTable tbody tr:eq(1)").find(":text, .btn_radio_opt, .btn_radio_del_opt, .btn_chk_del_opt, .btn_checkbox_opt, :text[name='radio[]'], :text[name='checkbox[]']").remove();
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value=""><button name="radio_btn_del" class="btn_radio_del_opt">删除</button></span></div> ');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
}
php代码
<table class="formTable">
<tbody>
<tr>
<th><input type="checkbox" name="title_idx[]" value="">{=_('标题')}</th>
<td colspan="3"><input type="text" name="title[]" value="" ></td>
</tr>
<tr>
<th>{=_('内容')}</th>
<td colspan="3">
<input type="radio" id="radio" name="select[]" value="radio"> radio button
<br>
</td>
</tr>
</tbody>
</table>
<br>
<div class="edit">
<button class="btn" id="add">继续</button>
<button class="btn" id="del">删除</button>
</div>
JS 代码
(function($){
$(document).ready(function(){
$('#radio').click(function(){
$(this).parent().find('input[type="text"]').remove();
$(this).parent().find('button').remove();
var tr_last = $('.formTable tbody tr td').eq(1);
if(tr_last.find('.btn_radio_opt').length < 1)
{
tr_last.append('<span style="display:block;margin-top:5px"><input type="text" name="radio[]" value=""><button name="radio_btn_add" class="btn_radio_opt">添加</button></span>');
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value=""><button name="radio_btn_del" class="btn_radio_del_opt">删除</button></span></div> ');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
}
});
var i = 0;
$('#add').click(function(){
i++;
if($('.formTable tbody tr').eq(1).find('input[type=radio]:checked').length!= 0)
{
var tr_last = $('.formTable tbody tr:last');
$(tr_last).after($('.formTable tbody tr').eq(1).clone()).after($('.formTable tbody tr').eq(0).clone());
$('.formTable tbody tr').eq(1).find('input:radio').each(function(){
var oldname = $(this).attr("name").substr(0,8);
$(this).attr("name",oldname+i);
});
$('.formTable tbody tr').eq(0).find('input[type=checkbox]').attr("checked",false);
$('.formTable tbody tr').eq(0).find(':input[type=text]').val("");
$(".formTable tbody tr:eq(1)").find(":text, .btn_radio_opt, .btn_radio_del_opt, .btn_chk_del_opt, .btn_checkbox_opt, :text[name='radio[]'], :text[name='checkbox[]']").remove();
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value=""><button name="radio_btn_del" class="btn_radio_del_opt">删除</button></span></div> ');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
}
作者: kofthejamy 发布时间: 2011-08-31
楼主还是把代码整理下 找出出错的关键代码再发上来吧,你这样发上来没有几个人愿意在这么多代码中为你去排错...
也没那精力!!
也没那精力!!
作者: koo42636880 发布时间: 2011-08-31
出错的关键代码在
$('#add').click(function(){ 这里的
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value=""><button name="radio_btn_del" class="btn_radio_del_opt">삭제</button></span></div>');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
这段。。。 上面的代码尽量写了都需要的部分
$('#add').click(function(){ 这里的
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value=""><button name="radio_btn_del" class="btn_radio_del_opt">삭제</button></span></div>');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
这段。。。 上面的代码尽量写了都需要的部分
作者: kofthejamy 发布时间: 2011-08-31
看的头疼 太乱了
作者: zsx841021 发布时间: 2011-08-31
代码 规范一下吧 尤其是 括号
作者: aa_aaaa 发布时间: 2011-08-31
php代码
<table class="formTable">
<tbody>
<tr>
<th><input type="checkbox" name="title_idx[]" value="">{=_('标题')}</th>
<td colspan="3"><input type="text" name="title[]" value="" ></td>
</tr>
<tr>
<th>{=_('内容')}</th>
<td colspan="3">
<input type="radio" id="radio" name="select[]" value="radio"> radio button
</td>
</tr>
</tbody>
</table>
<div class="edit">
<button class="btn" id="add">继续</button>
<button class="btn" id="del">删除</button>
</div>
JS 代码
(function($){
$(document).ready(function(){
$('#radio').click(function(){
$(this).parent().find('input[type="text"]').remove();
$(this).parent().find('button').remove();
var tr_last = $('.formTable tbody tr td').eq(1);
if(tr_last.find('.btn_radio_opt').length < 1)
{
tr_last.append('<span style="display:block;margin-top:5px"><input type="text" name="radio[]" value="">
<button name="radio_btn_add" class="btn_radio_opt">添加</button></span>');
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value="">
<button name="radio_btn_del" class="btn_radio_del_opt">删除</button></span></div> ');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
}
});
var i = 0;
$('#add').click(function(){
i++;
if($('.formTable tbody tr').eq(1).find('input[type=radio]:checked').length!= 0)
{
var tr_last = $('.formTable tbody tr:last');
$(tr_last).after($('.formTable tbody tr').eq(1).clone()).after($('.formTable tbody tr').eq(0).clone());
$('.formTable tbody tr').eq(1).find('input:radio').each(function(){
var oldname = $(this).attr("name").substr(0,8);
$(this).attr("name",oldname+i);
});
$('.formTable tbody tr').eq(0).find('input[type=checkbox]').attr("checked",false);
$('.formTable tbody tr').eq(0).find(':input[type=text]').val("");
$(".formTable tbody tr:eq(1)").find(":text, .btn_radio_opt, .btn_radio_del_opt, .btn_chk_del_opt, .btn_checkbox_opt, :text[name='radio[]'], :text[name='checkbox[]']").remove();
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value="">
<button name="radio_btn_del" class="btn_radio_del_opt">删除</button></span></div> ');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
}
<table class="formTable">
<tbody>
<tr>
<th><input type="checkbox" name="title_idx[]" value="">{=_('标题')}</th>
<td colspan="3"><input type="text" name="title[]" value="" ></td>
</tr>
<tr>
<th>{=_('内容')}</th>
<td colspan="3">
<input type="radio" id="radio" name="select[]" value="radio"> radio button
</td>
</tr>
</tbody>
</table>
<div class="edit">
<button class="btn" id="add">继续</button>
<button class="btn" id="del">删除</button>
</div>
JS 代码
(function($){
$(document).ready(function(){
$('#radio').click(function(){
$(this).parent().find('input[type="text"]').remove();
$(this).parent().find('button').remove();
var tr_last = $('.formTable tbody tr td').eq(1);
if(tr_last.find('.btn_radio_opt').length < 1)
{
tr_last.append('<span style="display:block;margin-top:5px"><input type="text" name="radio[]" value="">
<button name="radio_btn_add" class="btn_radio_opt">添加</button></span>');
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value="">
<button name="radio_btn_del" class="btn_radio_del_opt">删除</button></span></div> ');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
}
});
var i = 0;
$('#add').click(function(){
i++;
if($('.formTable tbody tr').eq(1).find('input[type=radio]:checked').length!= 0)
{
var tr_last = $('.formTable tbody tr:last');
$(tr_last).after($('.formTable tbody tr').eq(1).clone()).after($('.formTable tbody tr').eq(0).clone());
$('.formTable tbody tr').eq(1).find('input:radio').each(function(){
var oldname = $(this).attr("name").substr(0,8);
$(this).attr("name",oldname+i);
});
$('.formTable tbody tr').eq(0).find('input[type=checkbox]').attr("checked",false);
$('.formTable tbody tr').eq(0).find(':input[type=text]').val("");
$(".formTable tbody tr:eq(1)").find(":text, .btn_radio_opt, .btn_radio_del_opt, .btn_chk_del_opt, .btn_checkbox_opt, :text[name='radio[]'], :text[name='checkbox[]']").remove();
$('.btn_radio_opt').click(function(){
$(this).after('<div class="radioid"><span style="display:block;margin-top:5px"><input type="text" name="radio[]" value="">
<button name="radio_btn_del" class="btn_radio_del_opt">删除</button></span></div> ');
$('.btn_radio_del_opt').click(function(){
$(this).prev().remove();
$(this).remove();
});
});
}
作者: kofthejamy 发布时间: 2011-08-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28