在jQuery上动态绑定函数
bind function dynamically on jQuery
我一直在研究这个问题,这让我发疯 D:
所以,我有这个代码:
<table class="table table-condensed table-bordered table-hover" id="tbl_indicaciones">
<thead><tr>
<th>INDICACIÓN FARMACOLÓGICA</th><th>POSOLOGÍA</th><th>REALIZADO</th>
</tr></thead>
<tbody>
<tr>
<td><input type="text"></td>
<td><input type="text" class="txt_posologia"></td>
<td></td>
</tr>
</tbody>
</table>
和:
$(".txt_posologia").blur(function(){
guardarIndicacion($(this));
});
var guardarIndicacion = function(elemento){
//REVISAR QUE LOS CAMPOS TENGAN VALORES
var indicacion = $(elemento).parent().parent().find('td:eq(0)').find('input:eq(0)');
if(indicacion.val() == "" || $(elemento).val() == ""){
alert("Debe ingresar ambos campos");
indicacion.focus();
}else{
//REVISO SI SOY EDITABLE
if($(elemento).attr("data-editable") != "false"){
//HAGO ALGO
//AGREGO LINEA A TABLA
try{$("#tbl_indicaciones").find('tbody').
append($('<tr>').
append($('<td>').html("<input type='"text'">")).
append($('<td>').html("<input type='"text'" class='"txt_posologia'">").on('blur', function() {guardarIndicacion($(this))}))
);}catch(e){alert(e.toString)}
//ME HAGO NO EDITABLE
$(elemento).attr("data-editable", "false");
}
}
}
因此,每当我的"输入.txt_posologia"失去焦点时,它都会在我的表格上添加一个新行。这适用于我的页面上定义的第一个输入,但它不适用于新输入......
谢谢!
以防万一,有点小提琴
如果"新输入"是指动态生成的输入,那么这是因为您需要事件委派:
$(document).on('blur', '.txt_posologia', function(){
guardarIndicacion($(this));
});
这是您的工作示例:http://jsfiddle.net/GR5sJ/
$( document ).on( "blur", ".txt_posologia", function() {
guardarIndicacion($(this));
});
为了处理这种动态生成的字段,最好使用 jquery 'on' 有关此处的更多文档:http://api.jquery.com/on/
慕夏苏尔特!
相关文章:
- 将值动态绑定到jquery中的切换按钮
- 注册OpenLayers事件时,即使使用匿名函数或绑定,JavaScript关闭也会触发循环内的所有内容
- 如何使用AnguarJS动态绑定网站数据
- 在extJS 4.2中,有没有一种方法可以将模型值动态绑定到表单
- 为什么prototypjs观察到回调函数有绑定
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 我想在ext.js4.2中将树存储动态绑定到树面板中
- 选择与给定函数没有绑定的所有元素
- 如何让 AngularJS 选取在 JavaScript 中创建的动态绑定
- Emberjs - 将参数动态绑定到视图
- 将函数事件绑定到更改函数的复选框/标签
- KnockoutJS删除动态绑定
- jquery验证,动态绑定表单验证
- 如何将变量与函数动态绑定
- jQuery动态绑定文件输入并在函数中检索文件
- 在jQuery上动态绑定函数
- 如何为每个函数动态绑定“this”
- 如何使用模型中的函数表达式将函数动态绑定到ng-click
- jQuery点击函数未绑定到动态更改的类
- 多个元素上的动态绑定处理程序将只调用最后一个绑定函数