将表行中的值插入表单输入

时间:2015-12-14 20:04:53

标签: javascript php html

<tr class="entries">
        <td class="lalign"><?php echo($place); ?></td>
        <td><?php echo($title); ?></td>
        <td><?php echo($genre); ?></td>
        <td><?php echo($year); ?></td>
        <td><?php echo($director); ?></td>
        <td class="hiddenInfo"><?php echo($actors); ?></td>
        <td class="hiddenInfo"><?php echo($format); ?></td>
        <td class="hiddenInfo"><?php echo($id); ?></td>
        <td><?php if(empty($link)==false){?><a href="<?php echo($link); ?>" target="_blank"><p>IMDB</p></a><?php } else {?> <p>N/A</p><?php }?></td>
</tr>

<div id="movieUpdate">

<h3>UPDATE MOVIE</h3>

    <form action="index.php" method="POST">

    <div class="formRow">
        <input class="searchField" type="text" name="id" placeholder="ID"/>
    </div>
    <div class="formRow">
        <input class="searchField" type="text" name="place" placeholder="Placering"/>
    </div>
    <div class="formRow">
        <input class="searchField" type="text" name="title" placeholder="Titel"/>
    </div>

    <div class="formRow">
        <input class="searchField" type="text" name="director" placeholder="Regissör"/>
    </div>

    <div class="formRow">
        <input class="searchField" type="text" name="actors" placeholder="Skådisar"/>
    </div>

    <div class="formRow">
        <input class="searchField" type="text" name="genre" placeholder="Genre"/>
    </div>

    <div class="formRow">
        <input class="searchField" type="number" name="year" placeholder="År"/>
    </div>

    <div class="formRow">
        <input class="searchField" type="text" name="format" placeholder="Format"/>
    </div>
    <div class="formRow">

        <input class="searchField" type="text" name="link" placeholder="Länk"/>
    </div>

    <input id="submitButton" type="submit" value="Submit" />

</form>

如果我想单击tr填充#movieUpdate内的表单字段。我该怎么做呢?我试过重新设计这个问题的代码(Fill inputs by clicking on div - jQuery),但没有运气。

1 个答案:

答案 0 :(得分:0)

这正是你提到的另一个问题的解决方案。您的问题是您需要调整3个选择器以匹配您的代码。

  • $('tr')匹配每一行
  • $(this).find('td')匹配点击的行中的每个单元格
  • $('input:not([type="submit"])')以匹配
  • 形式的每个(非提交)输入

这样的事情可以解决问题:

$(function () {
    $('tr').click(function() {
        var data = $(this).find('td').map(function () {
            return this.innerHTML;
            // or return $(this).text();
        }).get();

        $('input:not([type="submit"])').each(function (i) {
            this.value = data[i];
            // or  $(this).val(data[i]);
        });
    });
});

请注意,表单中的输入字段应与每个tr中的完全相同的顺序和编号。