用于编辑表行的Javascript

时间:2015-11-22 12:18:13

标签: javascript mysql edit

我需要有关我网站功能的帮助。我只是不能使脚本工作。 我有这个网站: http://imgur.com/oMy69yx 正如您所看到的,有一个" 编辑"每行按钮。这里的目标是当用户按下其中一行时,该行可编辑(主题名称除外),按钮变为" 保存"。然后用户可以编辑他想要的所有内容并保存。当他点击" 保存"我获得了所有已更改的字段并通过SQL查询进行更新。 PS:行数未定义,因为用户可以输入任意数量的行。

所以我想在这样的剧本中写道:

var button = document.getElementByClassName("clicker");
var buttonclicked = function(){
    button.textContent = "Save"; //And things get editable};
button.addEventListener("click", buttonclicked);

但这不会起作用,因为 var button 是一个按钮数组,而 addEventListener 不适用于... 我该怎么做才能解决这个问题?

这是生成表格的HTML :(可能有点乱)

<?php $i = 0;?>
<?php foreach ($rows as $row): ?>
    <tr class="d1">
        <td><?php echo $row["subject"] ?></td>
        <td>
            <?php 
                if($row["G1"] != -1)
                    echo $row["G1"];      
            ?>
        </td>
        <td>
            <?php 
                if($row["G2"] != -1)
                    echo $row["G2"];      
            ?>
        </td>
        <td>
            <?php 
                if($row["G3"] != -1)
                    echo $row["G3"];      
            ?>
        </td>
        <td>
            <?php 
                if($row["G4"] != -1)
                    echo $row["G4"];      
            ?>
        </td>
        <td>
            <?php 
                $round = round($row["normal"],2);
                echo $round;
            ?>
        </td>
        <td><?= $row["creditos"] ?></td>
        <td><?php echo $row["criteria"];?></td>
        <td><?php echo "<button id = clicker.$i>Edit</button>"; ?></td>
    </tr>
    <?php $i++; ?>
<?php endforeach ?>

1 个答案:

答案 0 :(得分:1)

您可以通过$(document).ready(function() { if ($("body").scrollTop() > 500 || $("html").scrollTop() > 500) { $("body").css("background-image","background-image: url(1.jpg)"); } else { } 循环指定每个按钮:

for

另请注意,我正在使用var buttons = document.getElementsByClassName("clicker"); var buttonclicked = function(e){ e.target.textContent = "Save"; //And things get editable}; for(var i = 0; i < buttons.length; i++) { buttons[i].addEventListener('click', buttonclicked); } 函数中的e.target而不是buttonclicked,因此我们每次都会获得正确的按钮。

buttonevent object,其中包含有关e事件的信息。如果您查看onclick变量,就会看到它已被buttonclicked分配,而不只是function(e)