Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击获取一行的所有值_Javascript_Jquery_Html - Fatal编程技术网

Javascript 单击获取一行的所有值

Javascript 单击获取一行的所有值,javascript,jquery,html,Javascript,Jquery,Html,我有以下动态创建的html表 Name Value Option 1 2 3 4 5 6 7 8 9 现在单击选项3,我将看到警报1和警报2 同样,如果我单击6,我应该在警报框中得到4和5 如何做到这一点 示例代码 <table> <tr> <td>1</td> <td class="approve">2</td>

我有以下动态创建的html表

Name Value Option
1      2     3
4      5     6
7      8     9
现在单击选项3,我将看到警报1和警报2 同样,如果我单击6,我应该在警报框中得到4和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);
});
给你:

HTML:

资源:

jsFiddle:


编辑:我的解决方案有什么不好的地方???

你最好自己学习这些东西,因为你不能每次遇到问题都在这里请求代码。我建议您在这里学习JQuery:更具体地说,学习您的任务,单击事件:和允许您查找给定元素的同级元素的同级函数:

尝试此解决方案

$('.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);
})
试试这个

<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)

       }


这是一个和一个。它们包含了你需要知道的一切。我知道js,jquery是如何工作的我需要当前场景的代码或算法我们这里没有代码编写服务,你自己试试,如果你一开始就被卡住了,你会问一个问题,您需要访问教程示例代码应该是您尝试过的内容。我尝试了一个只给出第一行值的示例代码。它没有给其他人带来价值为什么要为他把一切都写出来?@doppel我很想这么做;给底层选民:请提供反馈,你只需向他提供解决方案,而不向他解释你是如何想出这个办法的,这样他下次就可以自己动手了。我添加了资源链接,你可以说,这对我来说已经足够了。我不明白你们为什么都这样rune@LynAs我很抱歉,如果这看起来像是我的粗鲁,但我只是想教你使用互联网上存在的大量参考资料和教程,大多数情况下,这些资料和教程会很快解决你的问题。这是当今程序员的一个重要部分,如果你知道如何阅读和搜索参考资料中的解决方案,你将能够自己解决大部分问题。正如我说过的,我试图自己找到解决方案,但没有得到结果,所以我发布了问题。我确实提到了代码或算法,为什么你被困在代码部分。谢谢你的邀请answer@LynAs如果我冒犯了你,我很抱歉,我只是想帮助你理解,如果你试着一步一步地思考,比如:我怎样才能捕捉点击事件?如何查找与我单击的元素相关的元素?。你可以很快自己解决这类问题。Ohhhhh为什么要使用内联JS?Ohhh我只想展示最简单的版本,因为他对jquery不太了解。。可能这是错误的方法…这没有什么错…如果您也将此类用于其他元素,则可以选择这样的特定元素。您也可以使用带有td作为参数的兄弟函数来获取同一父项下的所有td。@UntraDe:asker不需要所有td的数据,询问者只需要前两个td的数据。
$(document).on("click", "td.option", function()
{   
    var second = $(this).prev();
    var first = second.prev();
    alert("First: "+first.text()+", Second: "+second.text());
});
$('.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);
})
<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)

       }