我有多个输入类型复选框 - 如果选中其中任何一个,我想附加一列(JUST ONE TIME) - 即如果在第一个之后标记了任何其他复选框类型,我不会想要再次添加列,它一直在做。我确实在每个复选框类型输入中添加了一次PER。但是,我还想在整个文档中添加一列(即在页面上的所有复选框中)。
这是代码的相关部分
<table id="edhist_table" >
<tr id="table_headings">
<th>Graduated?</th>
</tr>
<tr>
<td><input type="checkbox" name="college_grad" value="yes">yes</input></td>
</tr>
<tr id='grad_part'>
<td><input type="checkbox" name="grad_grad1" value="yes">yes</input></td>
</table>
<script>
//if any of the checkboxes are checked - shoudl append column
$( "[type=checkbox]").one("click",function() {
$( "#table_headings" ).append("<th id='degree_heading'>Degree/Certificate Name</th>");
非常感谢任何想法。
答案 0 :(得分:1)
.one
每个元素最多只执行一次,这意味着它会为每个元素触发一次(这会导致你重复。你需要检查元素是否已添加,如果没有添加它。你。可以改为:
$( "[type=checkbox]").one("click",function() {
if ( $( "#table_headings #degree_heading" ).length==0)
$( "#table_headings" ).append("<th id='degree_heading'>Degree/Certificate Name</th>");
});
答案 1 :(得分:1)
关闭你的功能:
$( "[type=checkbox]").one("click",function() {
$( "#table_headings" ).append("<th id='degree_heading'>Degree/Certificate Name</th>");
}); // <-- Here