今天写项目的时候遇到一个问题
就是利用ajax到后台取值,然后用append将控件加到页面上去,发现之前写的事件无法绑定到控件上
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
利用jquery绑定事件
$(".change").liveq("input propertychange",function(){
tibi="";
$("#txtTibi").val("");
var $this = $(this);
//获取改行第二个单元格对象
var word = $this.parent().parent().children("td").eq(1);
if(!isNaN($this.val().trim())){
word.html("提量");
}else if($this.val().charAt($this.val().length-1) == "%"){
word.html("提比");
}else if($this.val().trim() == "*"){
word.html("取剩余")
}
//将提比提量值赋到文本框中
//获取该行第一个文本框对象
//$("#txtTibi").val("");
$("#tibiTable tbody tr").each(function(i){
tibi = tibi+"["+$(this).children("td").eq(0).html().trim().substr(0,3)+$(this).children("td").eq(2).children().val().trim()+"]";
});
$("#txtTibi").val(tibi);
});
});
在ajax中进行用append添加新元素的代码
function addtibi(sel){
var name = $(sel).val();
if(name=='添加新规则')return;
var tbody = $('#tibiTable tbody');
var add = "["+name.substr(0,3)+"20%"+"]"
$("#txtTibi").val($("#txtTibi").val()+add);
tbody.append('<tr><td>'+name+'</td><td>提比</td><td><input value="20%" class="change"/></td><td><button onclick="removeTibi(this)" class="btn btn-small btn-red">移除</button></td></tr>');
}
在百度上找了好久,终于让我找到了解决方法,就是在绑定事件时把bind()函数改成live最终效果就出来啦,哇哈哈哈,开心