さて、これはコードです
var $p = $("#tabla_inscripcion");
$p.load("Cursos_Existentes.php");
名前とボタンの 2 つの列のテーブルが課金されるとします。後:
$p.on('click','#tabla_cursos button.curso_ex',function(){
var curso = $(this).attr("id");
curso = curso.replace('_ver','');
if($(this).val() == 'no'){
$(this).val("si");
$("#"+curso).after('<tr class="cursos_'+curso+'"></tr>');
$('.cursos_'+curso).load("Horarios_Cursos.php?curso="+curso);
}
else{
$(this).val("no");
$(".cursos_"+curso).remove();
}
});
ボタンはクリックした行の下に行を追加し、その行は 3 つの列を持つテーブルをロードし、そのうちの 1 つにボタンがあります。行をもう一度クリックすると、私は排除されました。
問題は次のとおりです。
$p.on('click','#tabla_cursos #hor_cur tr td button.inscribir',function(){
$.ajax({
type: post,
url: "inscribir_curso.php",
data: "id_curso="+id,
success: function(){
$("#tabla_inscripcion").load("Cursos_Existentes.php");
}
});
ボタンをクリックして使用することになっている ajax で作成された可変ポストを送信して、ボタンがあったテーブルの行だけでエラーが発生せずに再度料金が請求されますが、ボタンは何もしません。何が問題なのですか?
私は翻訳機を使用しています。理解できなかったらごめんなさい。
2012/05/11更新
まあ、ほとんどすべてがここでhtmlで行われます
<div class="tabla_inscripcion" id="tabla_inscripcion" align="center">
</div>
<?php
header("Content-Type: text/html;charset=utf-8");
include 'Conexion.php';
session_start();
$id_alumno = $_SESSION['id_login'];
$sql = "SELECT DISTINCT curso FROM cursos WHERE id_curso NOT IN (SELECT id_curso FROM inscripsion WHERE id_alumno=$id_alumno)";
$result = mysql_query($sql, $conexion);
echo '<table id="tabla_cursos">';
echo '<tr class="encabezado"><td>CURSOS</td></tr>';
if(mysql_num_rows($result) != 0){
while($count = mysql_fetch_array($result)){
echo '<tr id="'.str_replace(' ', '_', $count["curso"]).'">';
echo '<td>'.$count["curso"].'</td>';
echo '<td><button value="no" class="curso_ex" id="'.str_replace(' ', '_', $count["curso"]).'_ver">ver</button></td>';
echo '</tr>';
}
}
else{
echo '<tr><td>no hay cursos disponibles</td></tr>';
}
echo '</table>';
?>
これは、3 つの列を持つテーブルを作成するコードです。
<?php
header("Content-Type: text/html;charset=utf-8");
include 'Conexion.php';
$curso = str_replace('_', ' ', $_GET["curso"]);
$i=0;
$sql = "SELECT cursos.id_curso, curso, dias, horario, nombre
FROM cursos INNER JOIN instructor
ON cursos.id_instructor = instructor.id_instructor
AND curso='$curso'";
$result = mysql_query($sql, $conexion);
echo '<td>';
echo '<table id="horarios_cur">';
echo '<tr>
<td id="dia_cur">Días</td>
<td id="hor_cur">Horario</td>
<td id="nom_prof">Profesor</td>
<td id="but_insc"></td>
</tr>';
if(mysql_num_rows($result) != 0){
while ($count = mysql_fetch_array($result)){
echo '<tr id="'.$curso.'_'.$i.'">';
echo '<td id="hor_cur">'.$count["dias"].'</td>';
echo '<td id="hor_cur">'.$count["horario"].'</td>';
echo '<td id="nom_prof">'.$count["nombre"].'</td>';
echo '<td id="but_insc"><button class="inscribir" id="'.$count['id_curso'].'">inscribir</button></td>';
echo '</tr>';
$i++;
}
}
else{
echo '<tr><td id="hor_cur">'.$curso.'</td></tr>';
}
echo '</table>';
echo '</td>';
?>
説明できないかもしれませんが、問題はコードが失敗することではなく、コードが見つからないためボタンが反応しないことです
長くなってしまいましたが、回答よろしくお願いします