我认为愚蠢的问题,但有没有办法将“if”语句用作可重用的函数
success: function(msg){
if(msg=='o'){
$j('#ok').show();
$j(button).show();
$j('#chk').hide();
}
else{
$j('#ok').hide();
$j('#chk').show();
$j(button).hide();
}
}
当我想打电话时,我有很多次,我宁愿选择“较小”的重量。
答案 0 :(得分:1)
success: function(msg){
doStuff(msg);
}
function doStuff()
{
if(msg=='o'){
$j('#ok').show();
$j(button).show();
$j('#chk').hide();
}
else{
$j('#ok').hide();
$j('#chk').show();
$j(button).hide();
}
}
答案 1 :(得分:1)
不确定。一点也不傻。
success: function(msg){
checkMsg( msg );
}
...
function checkMsg( msg ) {
if(msg=='o'){
$j('#ok').show();
$j(button).show();
$j('#chk').hide();
} else {
$j('#ok').hide();
$j('#chk').show();
$j(button).hide();
}
}
我认为button
是在success:
回调范围之外创建的变量。
答案 2 :(得分:1)
这种技术使用'闭包'来生成一个函数,以提供成功方法:
function doStuffGenerator( button ){
return function( msg ){
if(msg=='o'){
$j('#ok').show();
$j(button).show();
$j('#chk').hide();
}
else{
$j('#ok').hide();
$j('#chk').show();
$j(button).hide();
}
};
}
...
jQuery.ajax({
...
success: doStuffGenerator( button )
...
});
答案 3 :(得分:0)
在jQuery中编写函数的另一种方法是:
var myFxn = function(param){
// do function stuff here
}
var myOtherFxn = function(param){
// do function stuff here
}
所以在你的代码中:
if(msg=='o'){
myFxn();
} else {
myOtherFxn();
}