我遇到一些jQuery代码的问题......
首先,我的代码非常有效:
$(".add_cheque").click(function() {
nb_cheque += 1;
var html = '<tr><td><input type="checkbox" checked="checked"></td><td><input type="text" name="montant'+nb_cheque+'" id="montant" value="Montant" /></td>';
$('#services_pack').append(html);
});
所以现在,我想使用添加到页面的文本输入中的“montant”选择器,使用keyup函数......但它不起作用...... 如果我这样做:
$('#montant').keyup(function() {
alert('test keyup');
});
我在#montant
输入中输入内容,没有任何事情发生......
任何人?
答案 0 :(得分:1)
将#montant添加到DOM后,您需要触发此事件
$(".add_cheque").click(function() {
nb_cheque += 1;
var html = '<tr><td><input type="checkbox" checked="checked"></td>'
+ '<td><input id="montant' + nb_cheque +'" type="text"' // unique ID
+ 'name="montant'+nb_cheque+'" id="montant" value="Montant" /></td>';
$('#services_pack').append(html);
// Here
$('#montant' + nb_cheque).keyup(function() {
alert('test keyup');
});
});
或您可以设置实时(.on / .delegate / .live / etc)事件按键
答案 1 :(得分:1)
每次点击add_cheque,你都会创建一个新的行和按钮..每个按钮变为#monant as id ...但是dom id必须是唯一的......
你必须关闭你的
尝试使用像这样的jquery对象创建按钮
var newButton = jQuery('<input type="text" name="montant'+nb_cheque+'" value="Montant" />');
var jRow = jQuery('<tr><td><input type="checkbox" checked="checked"></td><td></td></tr>';
//add your button
jRow.find('td:last').append(newButton);
jQuery('#services_pack').append(jRow);
newButton.keyUp(function(){
//your method
});