我有3个单选按钮,可以打开各个div。所有3个div都有输入框,可以通过单击输入框旁边的添加按钮来添加。
现在的问题是,
输入框应仅在相应的无线电检查div中添加,但现在它适用于所有3个div输入框。如果您检查任何一个单选按钮并单击输入旁边的添加按钮,添加几个输入框然后转到另一个单选按钮,您可以看到同样的操作也应该实际上不对。
这是代码和小提琴
$filtr = $('.filtr');
$filtr.on('click', '.add', function(){
$(this).closest('.loop').clone().appendTo( $('.test') );
});
$filtr.on('click', '.del', function(){
$(this).closest('.loop').remove();
});
$('#1lev, #2lev, #3lev').hide();
答案 0 :(得分:4)
看看这里:http://jsfiddle.net/VMBtC/2/
我改变了这个:
$filtr.on('click', '.add', function(){
$(this).closest('.loop').clone().appendTo( $('.test') );
});
到此:
$filtr.on('click', '.add', function(){
$(this).closest('.loop').clone().appendTo( $(this).closest('.test') );
});
希望有所帮助
修改强>
单选按钮改进:点击此处 - > http://jsfiddle.net/VMBtC/3/
<强> JS 强>
$(":radio").click(function(){
$(".test").hide();
var show = $(this).attr("data-show");
$("#"+show).show(300)
});
<强> HTML 强>
<label><input name="1 Level" type="radio" value="0" data-show="1lev" />1 Level</label>
<label><input name="1 Level" type="radio" value="1" data-show="2lev" />2 Level</label>
<label><input name="1 Level" type="radio" value="2" data-show="3lev" />3 Level</label>
答案 1 :(得分:2)
使用$(this).closest('.loop').clone().appendTo( $(this).closest('.test') );
,否则您将添加到每个 .test
元素。