为什么无法触发 .updateById alert()都没有弹出来
在js文件里
<button type='button' class='btn btn-danger btn-xs updateById'>未上架</button>
function updateById() {
alert('sdfsdfs');
$(".updateById").on("click",function() {
var ALIAE_CODE = $(this).parent().parent().find("td:eq(0)").text().trim(); //获取id
if (confirm('确认报价吗?')) {
$.ajax({
url : 'salesSlowMovingStock/updateShelvesById.do',
type : 'POST',
dataType : 'json',
data : {ALIAE_CODE : ALIAE_CODE},
success : function(data) {
if (data = 1) {
//firstLoadData("/distributionQuote/getdistributionQuotePage.do?"+ mySelectForm,$(".laypage_curr").text()); // 指定url
} else {
alert("添加失败");
}
}
});
} else {
return false;
}
});
}
首先,一个标签想要执行点击事件,就必须与事件有关联。也就是说你这个button标签要想执行你的updateById函数,就必须有关系。你可以通过标签属性来设定,比如:
未上架
现在应该看出来问题了吧。你把updateById写到了class属性中了。 或者你可以给button设定ID属性,在js中通过ID找到这个button标签,并给他绑定click事件,具体可以百度。
实在不行用谷歌 可一看前台代码是否写错
排除法 查看拼写是否有错误 绑定的是id 还是class
alert()都没有弹出来,那是因为你没有走到这个方法function updateById() {} 里面,也就是你没触发这事件,有可能你方法名写错,也有可能你up少了dateById少了一个括号(),然后你才能测试$(".updateById").on("click",function() 这个事件。
1.判断一下语法和单词的拼写。
2.当前页面是否有form表单,button按钮是不是直接执行了提交。
3.在当前页面的任意位置写一个任意标签,class用同样的测试一下js是否有问题
function updateById() 首先要保证代码写正确,能够正确地调用到这个方法,没有alert说明没有调用到updateById()方法,从这个方向找问题,解决问题
f12利用浏览器工具检查一下看看那一行出错了
updateById()都没执行,怎么可能alert,当然点击按钮也没有反应了,都没有绑定事件
细心检查吧,打印都没出来连方法都没进
额,button标签上不应该加一个onclick,或者用jq绑定一下点击事件吗...
首先先确定方法是否执行,有没有报错,如果报错请依次排除
方法一:
方法二:如果用你那个方法也行, 直接 $(dom).click(function(){ ........逻辑功能 });
方法三: 把on换成bind 下面是代码 $(dom).bind('envent事件 l例如 click',function(){ ...//回调函数逻辑})
把获取dom元素绑定事件代码放到function updatebyid函数外面。
button是不是没有设置单击事件
updateById() 方法你没有添加相应事件,那这个方法怎么会执行