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 に答える