1

データベースからの情報を表示するページがあります。ユーザーが「詳細」リンクをクリックしてレコードに関する詳細情報を表示できるようにするか、入力ボックス (「チェック」列) をクリックして送信できるようにする必要があります。これにより、レコードのステータスが更新されます。これを実現するには、「id」列から ID を取得する必要があります。

ページは次のようになります。

要求ページ

これを作成するコードは次のとおりです。

  $.ajax({
type: "POST",
url: "lib/req.reqinfo.php",
async: false,
data: {},
success: function(response){
// alert(response);
    var responseArray = response.split(',');    
    for(var x=0;x<responseArray.length;x++){
        id = responseArray[x]; x++;
        dateadded = responseArray[x]; x++;
        needby = responseArray[x]; x++;
        addedby = responseArray[x]; x++;
        unit = responseArray[x]; x++;
        appr = responseArray[x];

        $("#dbinfo").append('<br /><div class="row"><div id="idrow'+x+'" class="onecol bg">'+id+'</div><div class="twocol bg">'+dateadded+'</div><div class="twocol bg">'+needby+'</div><div class="twocol bg">'+addedby+'</div><div class="twocol bg">'+unit+'</div><div class="onecol bg">'+appr+'</div><div class="onecol bg"><label id="detaillink" class="link"><a href="#">details</a></label></div><div class="onecol bg last">'+check+'</div></div>');
    }

必要な情報を抽出するためにその特定の div を指す解決策が見つからないようです

html:

    <div class="container">
   <br />
<div id="dbinfo" class="row center">
<div class="onecol bg">ID</div>
<div class="twocol bg">Date Added</div>
<div class="twocol bg">Need By</div>
<div class="twocol bg">Added By</div>
<div class="twocol bg">Unit #</div>
<div class="onecol bg">Appr.</div>
<div class="onecol bg">Details</div>
<div class="onecol bg last">check</div>
<div class="onecol"> &nbsp </div>
</div>

   <br />
<div class="row">
    <label class="link"><a href="home.php">Home</a></label>
</div>

4

3 に答える 3

2

自分で「行」を生成しているため、ID をインラインで直接追加できます。例えば:

<div class="onecol bg"><label id="detaillink" class="link"><a href="#" data-id="'+x+'>details</a></label></div>

また:

<div class="onecol bg" data-id="'+x+'>Details</div>

ところで、私の個人的な選択は、そのような表形式のデータをテーブルに表示し、クリック動作を行 (tr) に添付することです。

于 2012-12-04T22:30:43.793 に答える
0

このアプローチを試すことができます。

これにクラスの詳細を追加します

<div class="onecol bg details">Details</div>

// Assuming the details cell has a class called details.
$('.details').on('click', function(){
    var $row = $(this).closest('div.row');

    var id = $row.find('div:eq(0)').attr('id');
    // This is the id you are looking for
});

.attr('id');  If that div has a id..

.html();     If you are looking for the text inside it
于 2012-12-04T22:25:08.107 に答える
0

HTMLで:

  • リンクにラベルは必要ありません。
  • さらにイベントを処理するには、リンクを簡単に選択するためのクラスが必要です

リンクのイベント ハンドラー:

$('link class').on('click', function(e) {
   e.preventDefault();
   $(this).parents('div').siblings('div:eq(0)').text();
});
于 2012-12-04T22:34:22.730 に答える