Javascript,如果为true,则添加字符串
我需要修改此函数:Javascript,如果为true,则添加字符串,javascript,jquery,string,add,Javascript,Jquery,String,Add,我需要修改此函数: function checkPermissions(fid, obj) { $("#permissions_"+fid+"_canview").attr("checked", obj.checked); } 如果参数“n”为“true”,则将输出#permissionsSet而不是#permissions 这可能吗?OP澄清了无论是否提供第三个参数都要更改的问题。给你 function checkPermissions(fid, obj, n) { var id =
function checkPermissions(fid, obj) {
$("#permissions_"+fid+"_canview").attr("checked", obj.checked);
}
如果参数“n”为“true”,则将输出#permissionsSet而不是#permissions
这可能吗?OP澄清了无论是否提供第三个参数都要更改的问题。给你
function checkPermissions(fid, obj, n) {
var id = n !== undefined ? '#permissionsSet' : '#permissions';
$(id + fid + "_canview").attr("checked", obj.checked);
}
注:此功能可自由使用,可传递2或3个参数(或任何数字)
您熟悉
if
语句吗?我的意思是,如果函数回调函数中定义了'n'。checkPermissions(1,this,true)然后第三个参数是一个“n”,但我还需要同时使用相同的函数,而不使用n参数:checkPermission(1,this)Aight,现在当我选中我的复选框时,firebug说checkPermission函数未定义。我的onClick回调:onClick=“checkPermissions('.$gid',this);“
@Lucas,这可能是一个单独的问题,因为在定义onClick
处理程序之后,javascript代码的顺序不同。您需要确保函数是在附加handler的元素之前定义的。谢谢您,JaredPar,我现在可以开始工作了。再次感谢你。
checkPermissions(1, this); // Ok n === undefined
checkPermissions(1, this, true); // Ok n === true
checkPermissions(1); // Okish n and obj === undefined
function checkPermissions(fid, obj, n) {
$("#permissions" + ((n) ? "Set" : "") + "_"+fid+"_canview").attr("checked", obj.checked);
}