0

列の 1 つのすべての行にアンカー リンクがあるテーブルがあります。

関連するコードは

<tbody>
  <?php foreach ($rowarr as $k => $v) { ?>
    <tr>
      <td><?php echo $k ?></td>
      <td>
        <div class="divBox">                          
          <a id="vendorlink" data-toggle="modal" data-vendor="<?= $v ?>" href="#myModal"><?php echo $v; ?></a>
        </div>
      </td>
    </tr>
  <?php } ?>
</tbody>

テーブルでクリックされたリンクからベンダーの名前を AJAX を使用してモーダルに送信し、テストのためにモーダルに名前を出力しようとしていますが、それでもうまくいきません。

<script type="text/javascript">
  $('#myModal').modal('hide');
  $("#vendorlink").click(function(){
    var vendor = $(this).data('vendor');
    $('#myModal').on('shown', function(){                
        $.ajax({
          type: "GET",
          url: "ip.php",
          data:     "id=" + vendor,
          success: function(html){
            $("#modal-body").html(html);
            $('.countstable1').dataTable( {
              "sDom": "T<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
              "sPaginationType": "bootstrap",
              "oLanguage": {
                "sLengthMenu": "_MENU_ records per page"
              },
              "aaSorting":[[0, "desc"]],
              "iDisplayLength": 10,
              "oTableTools": {
                    "sSwfPath": "swf/copy_csv_xls_pdf.swf",
                    "aButtons": ["csv", "pdf"]
                  }
            });
          }
      });              
    });
  });
</script>

そして ip.php ファイルには今のところこれしかありません

<?php

$vendor = $_GET['id'];

echo $vendor;
?>

しかし、モーダルでは、デフォルトのブートストラップ マークアップ コードしか表示されず、そこには何もエコーされません。

これはデフォルトのブートストラップ マークアップ コードです - http://twitter.github.com/bootstrap/javascript.html#modals

何が間違っている可能性がありますか? ベンダーが PHP ファイルに渡さないのはなぜですか?

4

2 に答える 2

1

html ファイル内のすべてのリンクに同じ ID が設定されていますが、これは思い通りには機能しません。すべてのリンクにイベントを追加することをお勧めします。

于 2012-08-09T22:31:12.127 に答える
0

プロパティは次のdataように定義する必要があります。

data: {id: vendor},

編集。ああ、置き換えます:

<a id="vendorlink" data-toggle="modal" data-vendor="<?= $v ?>" href="#myModal"><?php echo $v; ?></a>

と:

<a id="vendorlink_<?=$v?>" class="vendorlink" data-toggle="modal" href="#myModal"><?=$v?></a>

および$("#vendorlink")with (したがって、すべてのエントリ$(".vendorlink")に影響します)、およびwith .$(this).data('vendor');$(this).attr('id').replace('vendorlink_', '');

于 2012-08-09T22:43:26.660 に答える