向各位大哥请教:检查并弹出页面上改变了值的元素

xiaowen01 2017-07-21 11:10:45
比如页面元素如下:

<table>
<tr>
<td><input id="P1" name="P1" type="checkbox" checked="true"/></td>
<td><input id="X2" name="X1" type="text" size="5" maxlength="2" /></td>
<td><select id="general" name="general" type="select-one" >
<option value="0">0:first value
<option value="1">1:second value
<option value="2">2:third value
</select></td>
</tr>
<tr><td>....</td><td>....</td><td>....</td><td>....</td></tr>
<tr><td>....</td><td>....</td><td>....</td><td>....</td></tr>
<tr><td>....</td><td>....</td><td>....</td><td>....</td></tr>
</table>


当用户在界面上修改了其中的几个值时(控件类型就只可能是3种,分别是text,checkbox select-option),能不能弹出一个对话框,显示一个table<元素名,原值,修改后的值>
谢谢了!
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jio可 2017-07-21
  • 打赏
  • 举报
回复
首先被修改的元素要做标记,或者直接就标记那一行。ps: <tr edit=0>默认0有修改就标记为1. 然后在点击提交的时候把原值和修改后的值在弹窗显示。 其实在每行后面加一个编辑按钮更好,表格原始数据只能查看不能修改。点击编辑按钮弹出窗口默认赋值当前所选行原始数据,数据可编辑,编辑提交新的数据到后台保存。
xiaowen01 2017-07-21
  • 打赏
  • 举报
回复
谢谢二楼版主的回复,可以了!
Go 旅城通票 2017-07-21
  • 打赏
  • 举报
回复
<table id="mytable">
    <tr>
        <td><input id="P1" name="P1" type="checkbox" checked="true" /></td>
        <td><input id="X2" name="X1" type="text" size="5" maxlength="2" /></td>
        <td>
            <select id="general" name="general" type="select-one">
                <option value="0">0:first value</option>
                <option value="1">1:second value</option>
                <option value="2">2:third value</option>
            </select>
        </td>
    </tr>
    <tr><td>....</td><td>....</td><td>....</td><td>....</td></tr>
    <tr><td>....</td><td>....</td><td>....</td><td>....</td></tr>
    <tr><td>....</td><td>....</td><td>....</td><td>....</td></tr>
</table><input type="button" value="获取修改过的内容" onclick="getModify()" />
<script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.7.1/jquery.min.js"></script>
<script>
    $('#mytable :input').each(function () { this.setAttribute('ov', this.type == 'checkbox' ? this.checked : this.value) });
    function getModify() {
        var arr = [];
        $('#mytable :input').each(function () {
            if (this.getAttribute('ov') != (this.type == 'checkbox' ? this.checked.toString() : this.value))
                arr.push([this.name, this.getAttribute('ov'), this.type == 'checkbox' ? this.checked.toString() : this.value]);

        });
        alert(JSON.stringify(arr))
    }
</script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧