2011-12-23 17 views
1

私は問題が発生しているので、すぐに書きました。コードが乱雑に見える場合はお詫び申し上げます。 tbodyはクリックできないのですか?そこにはアラートはありません、と私はあなたのIDがあなたのクラス怖がらと一致していることを、明らかなエラーにtbodyクリックが許可されていません

echo '<table>'; 
while ($row = mysql_fetch_array($result)) { 

echo 
'<tbody class = "reserveAPickupAppointmentRoommateAppointment" 
     id = "reserveAPickupAppointmentRoommateAppointment"> 
    <tr> 
      <td>' 
       .$row["name"]. 
      '</td> 
      <td> 
       <span class = "reserveAPickupAppointmentLocaton" 
          id="reserveAPickupAppointmentLocaton">' 
        .$row["location"]. 
       '</span> 
      </td> 
      <td> 
       <span class = "reserveAPickupAppointmentSubLocaton" 
          id="reserveAPickupAppointmentSubLocaton">' 
        .$row["subLocation"]. 
       '</span> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <span class = "reserveAPickupAppointmentStartTime" 
          id="reserveAPickupAppointmentStartTime">' 
       .$row["startTime"]. 
      '</span> - 
      <span class = "reserveAPickupAppointmentEndTime" 
          id="reserveAPickupAppointmentEndTime">' 
      .$row["endTime"]. 
       '</span> 
      </td> 
      <td> 
       <span class = "reserveAPickupAppointmentDate" 
          id="reserveAPickupAppointmentDate">' 
       .$row["date"]. 
       '</span> 
      </td> 
     </tr> 
    </tbody>'; 
} 

echo '</table>'; 

jqueryのは、私の文書準備functon

$("#reserveAPickupAppointmentRoommateAppointment").click (function() { 
    alert ("TEST"); 
    }); 

答えて

3

実際に含ま

関連のphpが表示されません少しだ。私はphpを知らないのですが、tbodyをループで作成しているのはwhileです。

これは、IDがreserveAPickupAppointmentRoommateAppointmentの複数の要素があることを意味します。そうであれば、それは無効であり、最初のものだけがセレクタによって照合される可能性が非常に高い。 tbodyは、限り、あなたはそれまでのバブルにイベントを許可するようhandler`を持つことができますはい、直接あなたの質問に答えるために

。あなたのコードの残りの部分を知らない

http://jsfiddle.net/hEw54/


、私はあなたがテーブルの上にIDを望んでいることを推測するだろうし、それ以下のすべてのtbody要素を選択します。

$(document).ready(function() { 
    $('#reserveAPickupAppointmentRoommateAppointment tbody').click(function() { 
     alert ("TEST"); 
    }); 
}); 

それとも、ただクラスによって直接選択することもできます

$(function() { 
    $('.reserveAPickupAppointmentRoommateAppointment').click(function() { 
     alert ("TEST"); 
    }); 
}); 

私はjQueryのDOM準備ハンドラ内に配置されるように上記のコードを更新しました。 2つの例が少し違っていることがわかります。それらは本質的に同一であり、第2のものは最初のもののショートカットです。他にも小さな違いがありますが、ここでは何も考慮しません。

はまた、一部の人々は、DOM準備のコードについては、以下を間違えることに注意してください:

​​
+0

が、私はそれぞれのtbodyのクリッカブルにしたい、そして私は、テキスト文字列を引っ張ってJSを使用して、クラスの私のsql..mostに挿入されます、私はスタイルシートを行うまでは単なるプレースホルダであり、おそらく名前は意志変化する。私は、各ボタンにクラス「ボタン」を与え、それからクリックをするのと同様に動作すると思います。これはかなり一般的な動作です。 – radleybobins

+0

@radleybobins:IDを 'table'に置き、' $( 'reserveAPickupAppointmentRoommateAppointment tbody') ' –

+0

を入力してください。これを試してみます – radleybobins

0

あなたはTABLE、TBODYやTRとのonclickを使うことはできませんが、あなたがTDに添付することができますjQueryの子セレクタ

関連する問題