我有此表列出了用户名和电子邮件:
<table>
<tr>
<th>Users</th>
</tr>
<tr class="altrow">
<td>admin <div style="visibility: hidden">[email protected]</div></td>
</tr>
<tr>
<td> User1 <div style="visibility: hidden">[email protected]</div></td>
</tr>
<tr class="altrow">
<td>User 2 <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/