【发布时间】:2014-12-26 14:04:41
【问题描述】:
我尝试使用 jQuery 添加表单,它成功了。
这次我尝试显示和隐藏一些按钮(#remove_form, #add_form)
但总是不工作:(
我的jQuery代码(参考this问题的答案):
$(document).ready(function(){
var index_num = 1;
var max_num = 7;
$("#add_form").click(function(e){
e.preventDefault();
if(index_num < max_num){
index_num++;
$("#event").each(function(){
$(this).clone().insertAfter(this).attr("id","event" + index_num);
$("#add_form" + index_num).css("display","none");
$("#remove_form" + index_num).css("display","inline");
});
}
});
$("#remove_form" + index_num).click(function(e){
e.preventDefault(); $(this).parent(".row collapse").remove(); index_num--;
});
});
+) 我没有写“#add_form”按钮的css代码。就是这样:
#remove_form{
display: none;
}
HTML 代码:
<div class="row collapse" id="event">
<div class="small-2 large-2 columns">
<h7>example</h7>
</div>
<div class="small-2 large-2 columns">
<form>example</form>
</div>
<div class="small-2 large-2 columns">
<form>example</form>
</div>
<div class="small-1 large-1 columns">
<h7>example</h7>
</div>
<div class="small-2 large-2 columns">
<form>example</form>
</div>
<div class="small-1 large-1 columns">
<h7>example</h7>
</div>
<div class="small-2 large-2 columns">
<button type="submit" class="button tiny alert" id="remove_form"></button>
</div>
<div class="small-2 large-2 columns">
<button type="submit" class="button tiny" id="add_form"></button>
</div>
</div>
+) 点击“#add_form”按钮后的 HTML 代码:
<div class="row collapse" id="event">...</div>
<div class="row collapse" id="event7">...</div>
<div class="row collapse" id="event6">...</div>
<div class="row collapse" id="event5">...</div>
<div class="row collapse" id="event4">...</div>
<div class="row collapse" id="event3">...</div>
<div class="row collapse" id="event2">
...
<div class="small-2 large-2 columns">
<button type="submit" class="button tiny alert" id="remove_form"></button>
</div>
<div class="small-2 large-2 columns">
<button type="submit" class="button tiny" id="add_form"></button>
</div>
</div>
我该如何解决这个问题?
【问题讨论】:
-
请解释“失败”的性质:应该发生什么,后来发生了什么?
-
根据定义,元素 ID 在页面中必须是唯一的。因此
$("#event").each看起来很可疑。请提供一些html。还提供比always failed更好的问题陈述。 -
为什么不使用 .show() 和 .hide() 而不是使用 css。如果您希望它发生,请在 () 中设置一个 0。
-
@charlietfl:编辑了我的问题。
-
仍然不清楚预期的行为是什么。代码中没有任何 id 为
event并且没有增量 ID 像#remove_formXXX或#add_formXXX
标签: javascript jquery html css