点击后获取一行的所有值

时间:2014-03-01 12:58:57

标签: javascript jquery html

我有以下html表,它是动态创建的。

Name Value Option
1      2     3
4      5     6
7      8     9

现在我点击option 3我应该看到提醒1 and 2 同样,如果我点击6我应该在警告框中显示4 and 5

怎么做?

示例代码

<table>
    <tr>
        <td>1</td>
        <td class="approve">2</td>
        <td class="">3</td>
    <tr>
    <tr>
        <td>4</td>
        <td class="approve">5</td>
        <td class="">6</td>
    <tr>
    <tr>
        <td>7</td>
        <td class="approve">8</td>
        <td class="">9</td>
    <tr>
</table>




$(".approve").click(function() {
    alert($(".approve").val);
});

5 个答案:

答案 0 :(得分:3)

您最好自己学习这些东西,因为每次遇到问题时都无法在此处请求代码。我建议你在这里学习JQuery:http://www.w3schools.com/jquery/default.asp,更具体地说是你的任务,点击事件:http://api.jquery.com/click/siblings函数,它允许你找到给定元素的兄弟姐妹: https://api.jquery.com/siblings/

答案 1 :(得分:1)

尝试此解决方案。

$('.click').on('click', function(){
    //var prev = $(this).parent().find('td:eq(0), td:eq(1)').text();
    var prev = $(this).parent().find('td').not($(this)).text();
    alert(prev);
})

Fiddle Demo

答案 2 :(得分:0)

试试这个..

<table>
<tr><td class="approve">1</td><td class="approve">2</td><td class="test" onclick="return get(this)">3</td></tr>
<tr><td class="approve">4</td><td class="approve">5</td><td class="test" onclick="return get(this)">6</td></tr>
<tr><td class="approve">7</td><td class="approve">8</td><td class="test" onclick="return get(this)">9</td></tr>
</table>



    function get(thID) {
var sVal = ""
           $(thID).parent().find('td.approve').each(function () {

               sVal  = sVal  + " " + $(this).html();

           });
      alert(sVal)

       }

答案 3 :(得分:-1)

你走了:

<强> HTML:

<table>
    <tr><th>A</th><th>B</th><th>C</th></tr>
    <tr><td>1</td><td>2</td><td>3</td></tr>
    <tr><td>4</td><td>5</td><td>6</td></tr>
    <tr><td>7</td><td>8</td><td>9</td></tr>
</table>

<强> jQuery的:

$("table").on("click", "td", function() {
    var values = [];

    $.each($(this).siblings(), function() {
        values.push($(this).text());
    });

    alert(values.join(" "));

});

<强>资源:

<强>的jsfiddle:

<强> DEMO

答案 4 :(得分:-3)

$(document).on("click", "td.option", function()
{   
    var second = $(this).prev();
    var first = second.prev();
    alert("First: "+first.text()+", Second: "+second.text());
});

EDIt:我的解决方案有什么不好?