如何将ID与div的内容相关联?

时间:2011-10-10 14:54:03

标签: javascript jquery

例如,我有一个HTML表格......

name | grade  | action
bob  | 1.0    | [button class="button" id='1']
jack | 2.0    | [button class="button" id='2']
john | 3.0    | [button class="button" id='3']

当我点击按钮时,

获取ID ...

$(function(){
$('.button').click(function()
var buttonid = this.id
});
});

所以,如果我按下buttonid 1,如何在不打开数据库的情况下获得名称'bob'?

此外,如果按下按钮,我如何获取每列中的值?即如果我按下按钮3,我如何获得3.0级或获得名称和成绩?

生成表格行的脚本

while(){ 
echo '<tr>'; 
echo '<td>'.$name.'</td>'; 
echo '<td>'.$grade.'</td>'; 
echo '<td> <input type="button" class="button" id="'.$id'"</td>';
echo '</tr>';
}

4 个答案:

答案 0 :(得分:3)

你的问题有点不清楚,但我认为这大致是你正在寻找的东西:

$('#myTable button').click(function ()
{
    var $tr = $(this).closest('tr'),
        $nameTd = $tr.children('td:first'),
        name = $nameTd.text();

    alert(name);
});

演示:http://jsfiddle.net/mattball/7XV96/

答案 1 :(得分:3)

最简单的方法(就我而言)是在你的TR元素上使用HTML数据属性并在那里拥有所有数据,然后你就可以使用$(this).closest("tr").data("name");  像:

<tr data-name="bob" data-grade="1.0">
    <!-- all your td-elements -->
</tr>
<tr data-name="jack" data-grade="2.0">
    <!-- all your td-elements -->
</tr>

答案 2 :(得分:2)

尝试:

$(function() {
    $('button').click(function() {
        var name = $(this).closest('tr').children().first().text();
        // do something with 'name'
    });
});

答案 3 :(得分:1)

你的js应该是:

$(function(){
    $('button').click(function(){
        var text= $(this).parent().siblings('td:first').text();
    });
});