0

我目前有一个当前格式的表格:

ID  Client Info  Case Detail  Accident Date  Case Opened  No Days  Function
--  -----------  -----------  -------------  -----------  -------  --------

其中包含从数据库中提取的动态信息。

ID 列特别重要,因为当用户单击功能列下的“管理”按钮时,我需要从该单元格中提取数据。

现在,这是用户单击“管理”按钮时运行的代码。

<script>
  $(document).ready(function () {
    $(".manage").click(function () {
    $('#casesHeading').hide("slow");
    $('#casesTable').hide("slow");
    $('#results').load('components/manage.php');
    });
    });
</script>

标题和表格被隐藏,页面“manage.php”被加载到结果 div 中。

但我只是想知道是否有办法将 ID 单元格的内容(每行不同)明显地转移到 manage.php 文件(当前为空)中。

因此,如果用户单击 ID 单元格数据为 233-cv的行,则此信息将被传输到 manage.php 文件中。希望我说得通。我阅读了 jQuery .find 函数,这很有意义,但我不知道如何将它合并到这个实例中。

更新 1

我正在尝试完成类似于此http://jsfiddle.net/ZjvAz/的事情。

更新 2

我已经尝试了以下代码,但它似乎没有工作。

<script>
  $(document).ready(function () {
$(".manage").click(function() {
    var clickedButton = $(this);
        clickedButton.parent().find(".result").text(
            clickedButton.parent().parent().parent().find('.caseID').text()
        );
    });
});
</script>
4

2 回答 2

1

我会让我的 manage.php 文件将案例 ID 作为参数。它将以诸如 的方式调用manage.php?caseId=123

如果您可以控制生成的数据,则可以生成所需的信息以进入按钮。不需要 jquery 代码遍历 DOM 到 ID 字段。我会在表源中生成类似的东西

<tr>
  <td class="id">123</td>
  ...
  <td class="function">
    <button class="manage" onclick="loadManagementPage(123)">manage</button>
  </td>
</tr>

如果您无法控制 HTML 源代码并且确实需要导航,那么您最好的朋友可能正在使用closest()它来向上导航 dom。使用它来查找行元素tr

出于自我记录的目的,我在这里没有使用链接

$( '.manage' ).click(function(){

  // find the row we are in
  var $self = $( this );
  var $row = $self.closest( 'tr' );

  // read the id
  var $idCell = $row.find( 'td.id' );
  var caseId = $idCell.text();

  // locate an area on the page and dynamically load in some content
  var $target = $row.find( 'td.result' ); // find the result cell
  var $target = $( '#knownId' )           // *OR* find a div with a known id
  $target.load( 'manage.php?caseId=' + caseId );
});
于 2012-04-18T16:41:30.807 回答
1

jQuery.load( handler(eventObject) ) 返回:jQuery

描述:将事件处理程序绑定到“加载”JavaScript 事件。

因为'components/manage.php'不是事件处理程序——你想做什么?

如果您想从服务器请求数据(也向其发送 smoe ID),您应该阅读有关该jQuery.ajax( url [, settings] )功能的信息。

http://api.jquery.com/jQuery.ajax/

http://api.jquery.com/load-event/

于 2012-04-18T16:11:00.263 回答