我创建了一个ajax,它将为输入创建一个表,值将来自php,其中一个处于活动状态且处于活动状态的按钮
var counter_sub = 0 ;
var html;
$.ajax({
type:'POST',
url:'add_subject.php',
dataType:'json',
data:{'func_numbr':'2'},
success:function (data){
$.each(data, function(i, item) {
html = "<tr>";
html += "<td><lable>Subject: </label><input type='text' name='subject["+counter_sub+"]' value='"+data[i].subj_name+"'></td>";
html += "<td><input type='button' id='activate' name='active' class='button active' value='Active'> ";
html += "<input type='button' id='inactivate' name='active' class='button' value='Inactive'></td>";
html += "</tr>";
$('#curr-elem-tble').append(html);
counter_sub = counter_sub +1;
});
}
});
我做了一个点击事件,它会提醒旁边的输入值
$('.active').click(function (){
var prev = $(this).parent().prev().find('input[type=text]');
var val = $(prev).val();
alert(val);
});
但是当我点击旁边的活动按钮时没有任何反应
继承人html
<div id="curr-elem-content">
<table id="curr-elem-tble">
</table>
</div>
答案 0 :(得分:1)
click()
将绑定到加载时的所有元素。请注意,如果要对动态添加的元素使用click(),则必须使用jQuery的live()或on()方法...所以将代码更改为
$('.active').live('click', function (){
var prev = $(this).parent().prev().find('input[type=text]');
var val = $(prev).val();
alert(val);
});
请参阅此处查看live