我目前有一个表,其中包含使用php回显的电子邮件模板名称列表。下面是php代码的一部分。我试图获取表值并将其传递给我的JS文件,其中未来的AJAX命令会将其传递给另一个文件(我不会遇到任何问题)。我第一次尝试提醒值,表明该值未定义。我的第二次尝试显示了它内部的元素类型(当时它是一个跨度)。现在它没有显示任何内容。建议?
PHP代码:
<table class="departments">
<tr>
<th scope="col" style="width: 175px;">Email Name</th>
';
$get_depts = mysql_query("SELECT dept_name FROM depts where bus_id = '{$_SESSION['bus_id']}'");
while(($department = mysql_fetch_assoc($get_depts)))
{
echo '
<th scope="col" style="width: 175px;">'.$department['dept_name'].'</th>
';
}
echo '
</tr>
';
$get_emails = mysql_query("SELECT id, email_name from emails where bus_id = '{$_SESSION['bus_id']}' ORDER BY email_name ASC");
while(($email = mysql_fetch_assoc($get_emails)))
{
echo '
<tr>
<td id="test" onclick="moveValue()">'.$email['email_name'].'</td>
';
当前的JS代码:
function moveValue()
{
var x = document.getElementById(test);
var y = x.innerHTML;
alert(y);
}
答案 0 :(得分:5)
使用Javascript:
var y = document.getElementById("test").innerText;
jQuery的:
$("#test").text();
获取HTML:
var html = document.getElementById("test" ).innerHTML;
jQuery的:
$("#test").html();
答案 1 :(得分:1)
使用javascript:
获取没有任何元素的原始文本或:
somevar=document.getElementById ( "test" ).innerText;
获取标签的完整html代码。内容将存储在'somevar'变量中。
somevar=document.getElementById ( "test" ).innerHTML;
答案 2 :(得分:1)
我不想让你的代码遇到所有问题,因为有很多问题。但是,通过单击获取<td>
元素的值很容易实现。
首先需要为表格中的每个单元格分配一个点击处理程序。最简单的方法是遍历每个单元格并分配处理程序,如下所示: -
var cells = document.getElementsByTagName('td');
for(var i = 0; i <= cells.length; i++){
cells[i].addEventListener('click', clickHandler);
}
function clickHandler()
{
alert(this.textContent);
}
然后,每次单击一个单元格时,都会调用clickHandler()
,您可以运行任何代码。
您可以在此fiddle
中看到它正常工作答案 3 :(得分:0)
您可以通过
执行此操作function moveValue()
{
var x = document.getElementById('test');
var y = x.innerHTML;
alert(y);
}
或通过:
function moveValue(element) {
var y = element.innerHTML;
alert(y);
}
//with the following html code:
<td onclick="moveValue(this)">'.$email['email_name'].'</td>
答案 4 :(得分:0)
对于循环内的每个td,您的id属性都是相同的。所以JS不知道你想要哪个元素。
您可以尝试将this
传递到onclick
方法
HTML
<td onclick="moveValue(this);">
JS
function moveValue( elem )
{
alert(elem.innerHtml);
}
如果我是你,我会看看jQuery
。它使所有这些东西更容易实现。
答案 5 :(得分:-1)
它的工作。
function clickValue(elem) {
var x = document.getElementById(elem).innerHTML;
alert(x);
}
<table>
<th>Coba</th>
<tr>
<td id="1" onclick="clickValue('1')">value</td>
</tr>
<tr>
<td id="2" onclick="clickValue('2')">value yg ke 2</td>
</tr>
</table>
更改id="*anyvalue*"
和clickValue('*anyvalue*')