在我的插件中,我使用厚盒模式窗口来显示项目列表。 thickbox div中的内容是通过ajax请求生成的。我在这个div中输入了复选框。不会触发这些复选框上的单击事件。
这是我的代码:
<div id="wpb_media_tracks_container"> //This div is loaded into the thickbox and contents of this table are dynamically generated through ajax request
<table class="wp_media_tracks_table">
<thead>
<tr>
<th>Choose tracks</th>
<th>Filename</th>
<th>Title</th>
</tr>
</thead>
<tbody>
<tr valign="top">
<td scope="row">
<input type="checkbox" name="1522" value="1522">
</td>
<td>raagrang.mp3</td>
<td>raagrang</td>
</tr>
</tbody>
</table>
</div>
jQuery代码:
jQuery('.wp_media_tracks_table input').on("click", function() {
postId = jQuery(this).val();
alert(postId);
});
我也尝试过使用这个selectotr:jQuery('#wpb_media_tracks_container input')。但没有结果。
任何人都可以帮我在代码中找到问题吗?
谢谢,
答案 0 :(得分:0)
根据您尝试绑定jQuery事件处理程序的时间,它正在查找的元素可能不存在。
您可以使用以下内容替换click
事件注册:
jQuery('#thickboxid').on('click', '.wp_media_tracks_table input', function(e) {
其中thickboxid
是非ajax加载的元素(即在运行ajax之前存在)。我不确定wpb_media_tracks_container
div是否符合此标准。