2011-09-26 10 views
0
사실

경우 문자열을 추가 :자바 스크립트, 나는이 기능을 수정해야

PARAM은 "N"#permissions가 출력 #permissionsSet을거야 대신 다음 "참"
function checkPermissions(fid, obj) { 

$("#permissions_"+fid+"_canview").attr("checked", obj.checked); 

} 

합니다.

이 가능합니까?

+0

경우'n'은 정의? – JaredPar

+1

'if' 문에 익숙합니까? – user113716

답변

1

OP는 세 번째 매개 변수의 제공 여부와 상관없이이를 변경해야하는 문제를 분명히했습니다. 여기 있습니다.

function checkPermissions(fid, obj, n) { 
    var id = n !== undefined ? '#permissionsSet' : '#permissions'; 
    $(id + fid + "_canview").attr("checked", obj.checked); 
} 

참고 :이 기능은 2 개 또는 3 개의 매개 변수 (실제로는 모든 숫자)를 전달할 때 자유롭게 사용할 수 있습니다.

checkPermissions(1, this);  // Ok n === undefined 
checkPermissions(1, this, true); // Ok n === true 
checkPermissions(1);    // Okish n and obj === undefined 
+0

'n'이 함수 콜백 fe에 정의되어 있다면 말입니다. checkPermissions (1, this, true) 그러면 세 번째 매개 변수는 'n'이지만 동시에 n 개의 매개 변수없이 같은 함수를 사용해야합니다. checkPermission (1, this) – Lucas

+0

@Lucas gotcha, 대답을 업데이트했습니다. – JaredPar

+0

Aight, 이제 내 체크 박스를 체크하면, firebug는 checkPermission 함수가 정의되지 않았다고 말합니다. 내 onClick 콜백 :'onClick = "checkPermissions ('. $ gid.', this);" – Lucas

1
function checkPermissions(fid, obj, n) { 

    $("#permissions" + ((n) ? "Set" : "") + "_"+fid+"_canview").attr("checked", obj.checked); 

} 
관련 문제