【问题标题】:How to get column name and first row value from table in javascript?如何从javascript中的表中获取列名和第一行值?
【发布时间】:2015-05-13 22:42:44
【问题描述】:

我想以某种方式将行中第一个数据的列名和值保存到变量 Row、Column 中,然后将其发送到我更新表的 update_table.php。我可以做到,但前提是我通过 var newContent(所选单元格的更改值)。我把 // 在非工作代码行前面。另外,如何行:

xmlhttp.open("GET","update_table.php?newContent="+newContent,true);

看起来像多了 2 个参数(列、行)?

    $(function () { 

     $("td").dblclick(function () { 
     var OriginalContent = $(this).text(); 

    $(this).addClass("cellEditing");
    $(this).html("<input type='text' value='" + OriginalContent + "' />"); 
    $(this).children().first().focus(); 

    $(this).children().first().keypress(function (e) { 
        if (e.which == 13) { 
            var newContent = $(this).val(); 
            //var Row = $(this).parent().find('td');
            //var Column = $('#pregled1 tr th').eq($(this).index()); //pregled1 is a name of the table

            $(this).parent().text(newContent); 
            $(this).parent().removeClass("cellEditing");



        ///////////////////SEND TO update_table//////////// 
            if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
            xmlhttp.open("GET","update_table.php?newContent="+newContent,true);
            xmlhttp.send();

        ////////////////////////////////////////////////////        
        } 
    }); 

    $(this).children().first().blur(function(){ 
        $(this).parent().text(OriginalContent); 
        $(this).parent().removeClass("cellEditing"); 
    }); 
}); 

});

这是表格:

<?php

 header('Content-Type: text/html; charset=utf-8');

 include("config.php");

        print("<table class='pregled1' id='pregled1'>");
        $query = "SELECT * FROM radovi WHERE vrsta_kolegija='diplomski' ORDER BY ime_prezime ASC";
        $result = mysqli_query($link,$query);

        ////header of the table////
            print("<tr><th>JMBAG</th>");
            print("<th>IME I PREZIME</th>");
            print("<th>LOK.MAT.BR.</th>");
            print("<th>KLASIFIKACIJSKA OZNAKA</th>");
            print("<th>URUDŽBENI BROJ</th>");
            print("<th>ODABRANI KOLEGIJ</th>");
            print("<th>ODABRANI MENTOR</th>");
            print("<th>PRVI IZBOR</th>");
            print("<th>PRVI MENTOR</th>");
            print("<th>DRUGI IZBOR</th>");
            print("<th>DRUGI MENTOR</th>");
            print("<th>MENTOR D.Z.</th>");
            print("<th>STUDENT P.Z.</th>");
            print("<th>ZADATAK PREDAN</th>");
            print("<th>NAPOMENA</th></tr>");

        while($row=mysqli_fetch_array($result)){


            print("<tr>");

            print("<td>".$row["jmbag"]."</td>");
            print("<td>".$row["ime_prezime"]."</td>");
            print("<td>".$row["lok_mat_br"]."</td>");
            print("<td>".$row["klas_ozn"]."</td>");
            print("<td>".$row["uru_br"]."</td>");
            print("<td>".$row["odabrani_kolegij"]."</td>");
            print("<td>".$row["odabrani_mentor"]."</td>");
            print("<td>".$row["kolegij1"]."</td>");
            print("<td>".$row["mentor1"]."</td>");
            print("<td>".$row["kolegij2"]."</td>");
            print("<td>".$row["mentor2"]."</td>");
            print("<td>".$row["ch1"]."</td>");
            print("<td>".$row["ch2"]."</td>");
            print("<td>".$row["ch3"]."</td>");
            print("<td>".$row["napomena"]."</td>");
            print("</tr>");

        }
        print("</table>");
 ?>

【问题讨论】:

  • 不相关的提示,您应该考虑将this$(this) 存储到更有意义的变量中。目前确实很难遵循范围。
  • 嘿,你能把你有的表格或html结构粘贴一下吗?

标签: javascript php html


【解决方案1】:

为什么不使用 jQuery,因为您似乎已经在项目中拥有它。

$.get('update_table.php', {column: 'col 1', row: 'row 1'}).done(function(data){});

然后您也可以删除与 IE6 和 7 相关的代码 因为 jQuery 应该在内部处理它。

https://api.jquery.com/jquery.get/

【讨论】:

    【解决方案2】:

    你需要发送两个 par 的行是这样的:

    xmlhttp.open("GET","update_table.php?newContent="+newContent+"&row="+rowvalue,true);
    

    感谢html,希望对您有所帮助!我做了一个jsfiddle来看看

    http://jsfiddle.net/aoak63dL/

    我认为这是你最需要的部分..

    $('td').on('click', function(){
        var inx = $(this).index() ;
        var hdr = $(this).closest('table').find('th').eq(inx).text();
    })
    

    【讨论】:

    • 似乎与 "$(this).index():" 我每次都得到值 0。
    猜你喜欢
    • 2018-04-07
    • 1970-01-01
    • 2013-07-12
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 2020-08-24
    相关资源
    最近更新 更多