-2

私は以下のように構成されたテーブルを持っています。外部の PHP スクリプトにリンクするだけでなく、対応する行の下に表示される DIV で PHP スクリプトを実行する必要があります。これは、DIV を含むテーブルにまたがる行を挿入し、その DIV に外部スクリプトをロードすることで実現できると考えました。

<table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr class="tableTitle">
    <td></td>
    <td>Category</td>
    <td>Price</td>
    <td>Stock</td>
    <td>Options</td>
  </tr>
  <tr>
    <td><a href="getProduct.php?id=634">007: Quantum of Solace</a></td>
    <td>Gaming > Xbox 360 > Games > Shooter</td>
    <td>$22.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=634">delete</a></td>
  </tr>
  <tr>
    <td><a href="getProduct.php?id=711">2006 FIFA World Cup Germany</a></td>
    <td>Gaming > Xbox 360 > Games > Sports</td>
    <td>$9.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=711">delete</a></td>
  </tr>
  <tr>
    <td><a href="getProduct.php?id=148">2010 FIFA World Cup South Africa</a></td>
    <td>Gaming > PlayStation 3</td>
    <td>$15.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=148">delete</a></td>
  </tr>
</table>

これは私が動作させようとしたjQueryコードです:

$("a").click( function(event) {
    var clicked = $(this);
    $.get($(this).attr('href'),
    function(data){
        $(clicked).next().find('tr').after(data);
    });
});

どんな助けでも大歓迎です:)

4

3 に答える 3

0

さて、jQueryの代わりにPrototypeを使用して自分で解決しました。うまくいけば、これは他の人を助けるでしょう。

JavaScript:

<script src="js/prototype.js" type="text/javascript"></script> 
<script type="text/javascript">
    function getDetails(targetDiv) {
        new Ajax.Updater(targetDiv, 'productGet.php', { method: 'get', parameters: 'id='+targetDiv });
    }
</script>

HTML:

<table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr class="tableTitle">
    <td></td>
    <td>Category</td>
    <td>Price</td>
    <td>Stock</td>
    <td>Options</td>
  </tr>
    <tr>
    <td><a href="javascript:void(0)" onclick="javascript:getDetails(pid634); return false;">007: Quantum of Solace</a>
      </td>
    <td>Gaming > Xbox 360 > Games > Shooter</td>
    <td>$22.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=634">delete</a>
      </td>
  </tr>
  <tr>
  <td colspan="5"><div id="pid634"></div></td>
  </tr>
    <tr>
    <td><a href="javascript:void(0)" onclick="javascript:getDetails(pid711); return false;">2006 FIFA World Cup Germany</a>
            <br>
      <span class="offset">2006 FIFA World Cup</span>
      </td>
    <td>Gaming > Xbox 360 > Games > Sports</td>
    <td>$9.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=711">delete</a>
            <br>
      <a href="productDelete.php?id=711&aliasId=0">delete</a>
      </td>
  </tr>
  <tr>
  <td colspan="5"><div id="pid711"></div></td>
  </tr>
    <tr>
    <td><a href="javascript:void(0)" onclick="javascript:getDetails(pid148); return false;">2010 FIFA World Cup South Africa</a>
      </td>
    <td>Gaming > PlayStation 3</td>
    <td>$15.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=148">delete</a>
      </td>
  </tr>
  <tr>
  <td colspan="5"><div id="pid148"></div></td>
  </tr>
</table>

Prototypeと同様にjQueryを使用している場合は、衝突を避けてください。

<script type="text/javascript">
    var $j = jQuery.noConflict();
</script> 
于 2012-12-27T07:54:40.437 に答える
0

html div内にphpが必要だと言っていると思います。ここに例を示します。これが役立つことを願っています。

<?php
$con = mysql_connect("localhost", "cis246", "t@sk93")
or exit(mysql_error());
$db = mysql_select_db("students",$con)
or die(mysql_error());
$sql = mysql_query("select * from CIS110");
echo "<table cellspacing='0' border='1'>";
echo "<tr><th>SID</th><th>FirstName</th><th>LastName</th></tr>";
while($row = mysql_fetch_object($sql)) {
$sid = $row -> SID;
$LastName = $row -> LastName;
$firstName = $row -> FirstName;
echo("<tr><td>$sid</td><td>$LastName</td><td>$FirstName</td></tr>");
}
echo "</table>";
mysql_close($con);
?>
于 2012-12-27T03:12:09.500 に答える
0

オンデマンドで (javascript を使用して) ドキュメント内の PHP スクリプトを実際に実行することはできません。あなたができることは、タグのtarget属性を使用して、iframe を使用し、それにドキュメントをロードすることです。a

<a href=somescript.php target=product123>Link</a>
...
<iframe id=product123 frameborder=0></iframe>

これにより、リンクの href が、javascript を使用せずに target 属性の id で指定された iframe に読み込まれます。そして、必要なリンクがクリックされるまで、何らかの方法で iframe を非表示にすることを忘れないでください (css? js?)。リンクがクリックされたときにiframeを動的に作成して挿入することもできますが、これは同じドメインに限定されていると思います.

于 2012-12-27T03:15:40.157 に答える