动态显示隐藏tbody/div

<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <title>User Regisiter</title>
    </head>
    <script type="text/javascript">
        var i=1;
        function showadv(){
            if(document.regForm.advshow.checked == true)
                adv.style.display = "";
            else
                adv.style.display = "none";
        }
           
       
    </script>
    <body>
        <form action="/userReg" method="post" name="regForm">
   
            <table width="100%" bgcolor="#F4A460" border="1" bordercolor="#A0522D">
                <tr>
                    <th colspan="2" bgcolor="#A0522D" align="left" height="38">&nbsp;&nbsp;注册</th>
                </tr>
                <tr>
                    <th colspan="2" align="left">&nbsp;必填</th>
                </tr>
                <tr>
                    <td width="21%">&nbsp;用户名</td>
                    <td><input type="text" name="userName" οnblur="checkUser()"/></td>
                </tr>
                <tr>
                    <td>&nbsp;密码</td>
                    <td><input type="password" name="pass" οnblur="checkPass()"/></td>
                </tr>
                <tr>
                    <td>&nbsp;确认密码</td>
                    <td><input type="password" name="repass" οnblur="checkrepass()"/></td>
                </tr>
                <tr>
                    <td>&nbsp;Email</td>
                    <td><input type="text" name="email" οnblur="checkEmail()"/></td>
                </tr>
                <tr>
                    <td>&nbsp;高级选项</td>
                    <td><input type="checkbox" name="adcshow" checked value="1" οnclick="showadv()"/>显示高级选项</td>
                </tr>
                <tbody id=adv style="display: ;">
                <tr>
                    <th colspan="2" align="left">&nbsp;选填</th>
                </tr>
                <tr>
                    <td>&nbsp;安全提问</td>
                    <td><select name="key">
                            <option>无安全问题</option>
                            <option value="1">你最喜欢的</option>
                            <option value="2">你最讨厌的</option>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td>&nbsp;答案</td>
                    <td><input type="text" name="value"/> </td>
                </tr>
                <tr>
                    <td>&nbsp;性别</td>
                    <td><input type="radio" value="0" name="sex">男
                        <input type="radio" value="1" name="sex">女
                        <input type="radio" value="2" name="sex" checked>保密
                    </td>
                </tr>
                <tr>
                    <td>&nbsp;生日</td>
                    <td><input type="text" name="birth" value="1900-01-01"/></td>
                </tr>
                <tr>
                    <td>&nbsp;来自</td>
                    <td><input type="text" name="from"/></td>
                </tr>
                <tr>
                    <td>&nbsp;QQ</td>
                    <td><input type="text" name="QQ"/></td>
                </tr>
                <tr>
                    <td>&nbsp;MSN</td>
                    <td><input type="text" name="MSN"/></td>
                </tr>
                <tr>
                    <td>&nbsp;个人简介</td>
                    <td><textarea name="resume" rows="4" cols="30">
                        </textarea>
                    </td>
                </tr>
                <tr>
                    <td>&nbsp;个性签名</td>
                    <td><textarea name="perSign" rows="4" cols="30">
                        </textarea>
                    </td>
                </tr>
                </tbody>
                <tr>
                    <td colspan="2" align="center"><input type="submit" value="提交"/></td>
                </tr>
            </table>
        </form>
    </body>
</html>

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现表格header字段的动态增加、删除、修改以及显示与不显示,并且与tbody中的数据对应隐藏一列,你可以使用Vue中的数据绑定和条件渲染的方式来实现。 这里我们假设你有一个包含表格数据的数组,每个数据对象包含了与表格header字段对应的属性。 动态增加、删除和修改header字段: 你可以通过操作一个数组来动态增加、删除和修改header字段,并且使用该数组和tbody中的数据进行双向绑定。 ```html <template> <div> <table> <thead> <tr> <th v-for="(field, index) in fields" :key="field"> <input v-model="field" @input="updateField(index)"> <button @click="deleteField(index)">删除</button> </th> <th> <button @click="addField">新增字段</button> </th> </tr> </thead> <tbody> <tr v-for="item in data" :key="item.id"> <td v-for="field in fields" :key="field">{{ item[field] }}</td> <td> <!-- 这是隐藏的一列 --> </td> </tr> </tbody> </table> </div> </template> <script> export default { data() { return { fields: ['字段1', '字段2', '字段3'], data: [ { id: 1, 字段1: '值1', 字段2: '值2', 字段3: '值3' }, { id: 2, 字段1: '值4', 字段2: '值5', 字段3: '值6' } ] }; }, methods: { addField() { this.fields.push('新字段'); this.data.forEach((item) => { item['新字段'] = ''; // 在数据对象中添加新字段的初始值 }); }, deleteField(index) { const deletedField = this.fields.splice(index, 1)[0]; this.data.forEach((item) => { delete item[deletedField]; // 删除数据对象中对应的字段 }); }, updateField(index) { // 数据已经在fields数组中进行了修改 } } } </script> ``` 上述代码中,我们通过操作`fields`数组来实现header字段的动态增加、删除和修改。每当新增或删除字段时,我们也相应地更新了每个数据对象中的属性。 显示与不显示header字段并与tbody数据对应隐藏一列: 你可以使用Vue的条件渲染指令`v-if`或`v-show`来实现显示与不显示header字段,并根据需要在tbody隐藏对应的列。 ```html <template> <div> <table> <thead> <tr> <th v-for="(field, index) in fields" :key="field" v-show="shouldShowField(index)"> <input v-model="field" @input="updateField(index)"> <button @click="deleteField(index)">删除</button> </th> <th> <button @click="addField">新增字段</button> </th> </tr> </thead> <tbody> <tr v-for="item in data" :key="item.id"> <td v-for="(field, index) in fields" :key="field" v-show="shouldShowField(index)">{{ item[field] }}</td> <td> <!-- 这是隐藏的一列 --> </td> </tr> </tbody> </table> </div> </template> <script> export default { data() { return { fields: ['字段1', '字段2', '字段3'], data: [ { id: 1, 字段1: '值1', 字段2: '值2', 字段3: '值3' }, { id: 2, 字段1: '值4', 字段2: '值5', 字段3: '值6' } ], showFields: [true, true, true] // 控制每个字段是否显示的数组 }; }, methods: { addField() { this.fields.push('新字段'); this.data.forEach((item) => { item['新字段'] = ''; // 在数据对象中添加新字段的初始值 }); this.showFields.push(true); }, deleteField(index) { const deletedField = this.fields.splice(index, 1)[0]; this.data.forEach((item) => { delete item[deletedField]; // 删除数据对象中对应的字段 }); this.showFields.splice(index, 1); }, updateField(index) { // 数据已经在fields数组中进行了修改 }, shouldShowField(index) { return this.showFields[index]; } } } </script> ``` 上述代码中,我们使用`showFields`数组来控制每个字段是否应该显示。根据`showFields`数组的值来决定每个字段的显示与隐藏,并在tbody中的对应列使用相同的条件渲染。 希望以上解答能够帮助到你!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值