检测html(表单)表中的行数据更改(JavaScript / Jquery)

时间:2013-03-27 14:22:44

标签: javascript jquery

您好我是读者并在此获得了很多帮助。这是我的第一篇文章。 我知道这可能是一个类似的问题,但我仍然找不到答案。 有人可以帮我写一个JavaScript / jquery代码:如果用户修改了这些字段中的任何一个,那么dbFlag值将设置为“U”(init。为“N”)。我正在努力生成正确的代码。 注意:数据行是从DB填充的,因此可以是1行或N行。 非常感谢您的时间和精力。

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <form name="form1" id="form1" action="saveData" method="POST">
            <table id="dataTable" border="1">
                <tbody>
                    <tr>
                        <th>Badge #</th>
                        <th>turn #</th>
                        <th>Comment</th>
                    </tr>   
                    <tr>
                        <td><input type="text" size="7" name="badge" id="badge" value="000000" /></td>
                        <td>
                            <select name="descMpoint" id="descMpoint2">
                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                            </select>                    
                        </td>
                        <td><textarea name="comment" cols="50" rows="2">txt area</textarea></td>             
                        <td><input type="hidden" name="dbFlag" id="dbFlag" value="N" />     
                    </tr>
                </tbody>
            </table>
            <br>
            <span class="tab"><input type="submit" name="updateData" value="Submit" id="updateData"/></span>
            <br><hr>
        </form>
    </body>
</html>

2 个答案:

答案 0 :(得分:8)

使用change事件:

$('#form1').on('change', 'input, select, textarea', function(){
    $(this).closest('tr').find('input[name="dbFlag"]').val('U');
});

jsFiddle&amp; .change()

答案 1 :(得分:0)

在jQuery中,使用change事件函数。 请注意,当相关字段未聚焦/模糊时,该函数将触发。

示例:

$("#badge").change(function(){
    var currentElement = $(this); //reference to the element that was changed
    //etc. etc.
});

JSFiddle:http://jsfiddle.net/kfdNs/