我有此表列出了用户名和电子邮件:

<table>
    <tr>
        <th>Users</th>
    </tr>
    <tr class="altrow">
        <td>admin &nbsp; <div style="visibility: hidden">[email protected]</div></td>
    </tr>
    <tr>
        <td> User1 &nbsp;<div style="visibility: hidden">[email protected]</div></td>
    </tr>
    <tr class="altrow">
        <td>User 2&nbsp;<div style="visibility: hidden">[email protected] </div></td>
    </tr>
</table>


首先,我不确定这是否是将可见性设置为隐藏的电子邮件公开的好方法,但是在这种情况下,安全性不是问题。

主要的问题是,一旦单击了用户名或用户名旁边的复选框,我将使该电子邮件地址显示在以下框中:

<input name="data[To]" type="text" id="To"/>


非常感谢您的帮助!

最佳答案

类似于以下内容的方法可以与您当前的标记一起使用(尽管最好为您的表提供一个ID来选择它):

$(document).ready(function() {
    $("table td").click(function() {
        $("#To").val( $(this).find("div").text() );
    });
});


也就是说,单击任何td,在其中找到div,并将其内容放入input。当然,这假定每个td仅包含一个div

演示:http://jsfiddle.net/hUXx4/

我将更倾向于将数据存储在html5样式的data-属性中,例如:

<td data-email="[email protected]">admin</td>


...在这种情况下,您将像这样使用它:

$("#To").val( $(this).attr("data-email") );
// OR
$("#To").val( $(this).data("email") );

关于javascript - 如何将数据从表传递到输入框?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14579789/

10-11 08:23