2017-03-12 5 views
0

のためにのみ動作します(SQLクエリの結果から):次にPHP-生成されたテーブルのボタンをonclickの私はPHPから生成されたHTMLテーブルを持つ最初の

echo "<table border=\"5\"><tr><th>Codice</th><th>Titolo</th><th>Anno Creazione</th><th>Materiale</th><th>Altezza</th><th>Peso</th><th>Museo</th></tr>"; 
while($row = mysqli_fetch_assoc($results)) { 
     echo "<tr><td>".$row["Codice"]."</td><td>".$row["Titolo"]."</td><td>".$row["Anno_creazione"]."</td><td>".$row["Materiale"]."</td><td>".$row["Altezza"]."</td><td>".$row["Peso"]."</td><td>".$row["Museo"]."</td><td><button id=\"modifica\" type=\"button\">Modifica</button></td><td><button id=\"cancella\" type=\"button\">Cancella</button></td></tr>"; 
} 
echo "</table>"; 

、私はこのjQueryの持っている:

$("#cancella").click(function(){ 
    if(confirm("Vuoi davvero eliminare questi dati?")){ 
     var codice = <?php echo json_encode($cod); ?>; 
     var tipo = <?php echo json_encode($tipo_opera); ?>; 
     window.location.href = "delete.php?codice="+codice+"&tipo="+tipo; 
    } 
}); 

このクリック機能は、最初の行の「削除」ボタンに対してのみ機能します。どうして?

答えて

2

idは一意であるため、elementにのみ割り当てることができます。

classを使用してください。

<button class=\"cancella\" type=\"button\">Cancella</button> 

$(".cancella").click(function(){ 
// Do Something. 
}); 

オルタナティブ:

<button type=\"button\" onclick=\"cancella()\">Cancella</button> 

function cancella(){} 
+0

クラスを使用して、クリックイベント内で 'this'要素を使用します。 – Hammerbot

+0

クラスを使用すると動作しません。また、Chromeコンソールでエラーが返されません。 –

+0

チェックしましょう... –

0
<button id=\"cancella\" type=\"button\">Cancella</button> 

ニーズはクラスではないことは、あなたが直面するであろう、あなたのDOM構造に繰り返している場合は、idは、一意である必要があり

0

IDとなります問題。 class cancellaを使用し、必要に応じて特定の要素を識別するデータ属性を定義します。

だからあなたのコードは、あなたが動的に "もっと" の要素を追加しているならば、あなたの代わりに$(document).on('click', '.cancella', function(){});を使用する必要があります。またHTML形式

echo "<tr><td>".$row["Codice"]."</td><td>".$row["Titolo"]."</td><td>".$row["Anno_creazione"]."</td><td>".$row["Materiale"]."</td><td>".$row["Altezza"]."</td><td>".$row["Peso"]."</td><td>".$row["Museo"]."</td><td><button id=\"modifica\" type=\"button\">Modifica</button></td><td><button data-myid=".$row['id']." class='cancella' type=\"button\">Cancella</button></td></tr>"; 
JS

$(".cancella").click(function(){ 
    if(confirm("Vuoi davvero eliminare questi dati?")){ 
    var particular_element = $(this).attr('data-myid'); 
    } 
}); 

で...

になります$(".cancella").click()さんのお役に立てば幸いです。

関連する問題