2014-01-11 2 views
0

내 버튼에 값 표시/숨기기를 전환하고 싶지만 많이 시도했지만 아무 것도 효과가 없습니다. 여기 내 몫이있다. 미리 감사드립니다.Toggle a Function Jquery

function SLIDE_HIDE(SLIDEID){ 
    $("#"+SLIDEID).prop('value', 'HIDE'); 
    $("#"+SLIDEID).prop('value', 'SHOW'); 
} 

HTML/PHP 코드

<input id=\"$OPID\" onclick='SLIDE_HIDE($OPID);' class=\"slidehide\" type=\"button\" value=\"HIDE\" > 
+0

그냥 내 예제 bro, 의사 – user3183972

답변

0

만약 당신이, 당신이 제공 한 코드를 사용하여 앞뒤로 전환 후 같은 것을 수행하는 방법이다 요구하고 있습니다 :

function SLIDE_HIDE(SLIDEID) 
{ 
    if ($('#' + SLIDEID).prop('value').toUpperCase() == "SHOW") { 
     $("#"+SLIDEID).prop('value', 'HIDE'); 
    } else { 
     $("#"+SLIDEID).prop('value', 'SHOW'); 
    } 
} 

.prop가 버튼 값을 실제로 설정하지 않아 수행 할 방법을 찾고 있다면

해 보셨습니까? r.val?

질문에 의해 무엇을하고 싶은지 잘 모르겠지만 아래 중 하나가 효과가있을 수 있습니다. 또한 이것은 분명 할 것입니다.하지만 두 줄을 앞뒤로 모두 실행할 수는 없으며 항상 "SHOW"로 끝납니다.

$("#"+SLIDEID).attr('value','show'); 
// or 
$("#"+SLIDEID).val('show'); 

물론

$("#"+SLIDEID).attr('value','hide'); 
// or 
$("#"+SLIDEID).val('hide'); 
0

이 시도 :

$("#"+SLIDEID).val(function(i,oldVal) { 
    return oldVal === "HIDE" ? "SHOW" : "HIDE"; 
}); 

데모 : 당신의 PHP 변수 $OPID가 문자열 인 경우, 당신이 필요 거라고

http://jsfiddle.net/Q5SBj/2/ 그것을 통과 할 때 따옴표 안에 넣으십시오 : onclick='SLIDE_HIDE(\"$OPID\");'

.val() method은 함수를 인수로 받아들입니다. 여기서 jQuery는 요소의 이전 값을 전달하는 함수를 호출 한 다음 함수에서 반환 한 값으로 값을 설정합니다.

주 당신이 인라인 onclick="..." 속성을 제거하려면 jQuery로 핸들러에 할당 할 수 있습니다 "slidehide" 당신의 요소는 클래스에 의해 선택 될 수있는 경우 :

$(document).ready(function() { 
    $(".slidehide").click(function() { 
     $(this).val(function(i,oldVal) { 
      return oldVal === "HIDE" ? "SHOW" : "HIDE"; 
     }); 
    }); 
}); 

데모 : http://jsfiddle.net/Q5SBj/

(문서 준비 래퍼 ISN을 본문 끝 부분에 스크립트를 포함 시키면 필요합니다.)

0

함수는 이전 값을 확인하지 않습니다. 함수에서 if/else 문을 실행하여 현재 값을 확인하고 반대 값으로 설정하십시오. 예 : 값이 "HIDE"이면 "SHOW"로 설정하십시오. 값이 "SHOW"이면 "HIDE"로 설정하십시오.