2012-05-06 12 views
1

私はサーバーから動的に構築されたhtmlテーブルを持っています。最終的には次のような表が表示されます。jqueryビデオを再生するには

<div id="player"></div> 

<table id="webcam-table"> 
      <thead> 
      <tr> 
       <th>Camera Name</th> 
       <th>Date Created</th> 
      </tr> 
      </thead> 
      <tbody>    
      <tr > 
       <td onclick="DoNav('http://myserver.com:1935/recordings/myfile1.mp4');"> 
        Default camera 
       </td> 
       <td onclick="DoNav('http://myserver:1935/recordings/myfile1.mp4');"> 
        06 May 2012 07:25:01 
       </td> 
       </tr> 

      <tr > 
       <td onclick="DoNav('http://myserver.com:1935/recordings/myfile2.mp4');"> 
        Default camera 
       </td> 
       <td onclick="DoNav('http://myserver.com:1935/recordings/myfile2.mp4');"> 
        06 May 2012 07:24:47 
       </td> 
       </tr> 
</tbody></table> 

誰かがテーブルの行をクリックすると、DoNav関数を呼び出してビデオを挿入します。

function DoNav(theUrl) 
{ 
    var mydiv = $("#player"); 
    var myvideo = $("<video id='myfileplayer' src='"+ theUrl +"' width='280' height='200' controls></video>"); 
    $mydiv.append($myvideo); 
    $(myvideo).click(function(){ 
     $mydiv.show(); 
}); 
} 

私は現在、いずれかの行をクリックするとビデオが表示されません。私はiDevicesのためにこのコードを作成していますので、デバッグ情報を得るのは難しいです。しかし、javascriptのエラーは表示されません。私は間違って何をしていますか?

答えて

1
function DoNav(theUrl) 
{ 
    var mydiv = $("#player"); 
    var myvideo = $("<video id='myfileplayer' src='"+ theUrl +"' width='280' height='200' controls></video>"); 
    mydiv.append(myvideo); 
    $("#myfileplayer").click(function(){ 
     //$(this).load(); //active this later 
     $(this).play(); 
    }); 
} 
1

代わりの$mydiv.append($myvideo);mydiv.append($myvideo); はまたmydiv.show();

2

$(myvideo).click myvideo.clickにと$mydiv.show();を変更してみてください、あなたが$

var mydiv 

であなたの変数を参照しているように見えるがmydiv.propertyない$mydiv.property介してアクセスすることができます

マークアップのすべての表の列にonclickを使用するのではなく、jQuery onの関数を参照する必要があります。

関連する問題