3

我有一个包含一行和三列的表格,在第三列我有一个复选框,如果有更改,我想做出反应:

<table id="tabla_busqueda">
   <tr>
     <td>Data 1</td>
     <td>Data 2</td>
     <td><input type="checkbox" class="check_nuevo"></td>
   </tr>
</table>

我努力了:

$('table tr td input.check_nuevo').on('change', function(){
    alert('hello');
});

$('table#tabla_busqueda .check_nuevo').on('change', function(){}
$('table td .check_nuevo').on('change', function(){}

和其他一些,但似乎没有任何效果。我究竟做错了什么?关于如何定位该复选框的任何建议?

这是生成我的表的 php 代码

foreach ($datos as $row) {
                $clase = ($fila % 2 == 0) ? 'even' : 'odd';
                $resultado .=   '<tr class="'. $clase .'"> 
                                    <td class="imagen_chica" ><img src="' . base_url() . 'product_images_mini/' . $row->image_path . '"></td>
                                    <td>' . $row->titulo . '<em> de </em>' . $row->nombre_autor . '</td>
                                    <td><input type="checkbox" class="check_nuevo"></td>
                                </tr>'; 
                                $fila++;    
                }
4

2 回答 2

2

我猜当您绑定更改处理程序时,内容还不存在。像这样的东西应该工作:

$(document).on('change', 'table tr td input.check_nuevo', function() {
    alert("Is this working now?");
});
于 2013-04-19T18:05:02.860 回答
-2

使用“绑定”而不是“开”:

$('table tr td input.check_nuevo').bind('change', function(){
    alert('hello');
});

检查这个jsfiddle了:http: //jsfiddle.net/5cJjh/

于 2013-04-19T17:33:36.950 回答