特意记下这个经历,这个让我感慨万千又斗志昂扬的一次经历,这是经验,也是生活。
故事的始末是这样的,先给大家上几句代码,现在身在家中,只能凭记忆敲打几行,大致意思倒不会错:
{field:'code',align:'center'} {field:'btfid',align:'center',hidden:'true', formatter:function(value,row,rowIndex){ return "<a href="javascript:void(0)" onclick='del("+row.btfid+")'></a>"; } }
看这几句话,想必也猜出部分来了,easyui中用ajax调用后,返回json数据,其它的姑且不论,看这几句话你能发现问题么?
存在问题:
function del(code){alert(code);}
这个调用的删除数据的js方法却没能调用,alert()直接未弹出,你能看出是为什么了么?
这个地方让我纠结了一下午真是毫不夸张,而我又把这个问题的解决看做是一次经历,是因为:
在解决问题的过程中,我用浏览器调试,从网上搜索原因,查看easyuiAPI文档,从QQ群中问同学,问陌生人,各种方式,总算是发现了:当传递的是数字的时候,是可以的,而存在字符串的时候就不可以了,而从浏览器的“审查元素”中发现了del(week231we)这个问题,应该加引号的,然后我又想各种办法,例如
onclick=‘("+" ‘ "+row.btfid+" ‘ "+")‘></a>"
这种方式不行,又从网上搜索出的";,乱七八糟的方法试了很多,结果我生生花了2个小时在这上面,最终无奈,我找了几个同事帮忙,也不尽人意,而找到其中一个同事的时候,过来看了看,问了问我要实现的功能,然后坐都没坐下,敲了几下,2分钟都不到,然后就走了,然后就好了,而我就凌乱了,2分钟VS2小时,效率就在这里看出差距来了啊。
而解决的问题却是我确实没想过,来看一下代码:
{field:'code',align:'center'} {field:'btfid',align:'center',hidden:'true', formatter:function(value,row,rowIndex){ return "<a href="javascript:void(0)" onclick=del('"+row.btfid+"')></a>"; } }
就这样啊,原来方法是可以不必加‘‘”,但是字符串必须要带着"‘",就这样解决了。
2分钟,2小时,加油吧,路还很长...
java开发中的那些事(5)--------一点经历,败给2分钟的2个小时,布布扣,bubuko.com