2015-01-19 2 views
-1

부트 스트랩 모달과 함께 위의 오류 메시지가 나타납니다.부트 스트랩 모달 : 정의되지 않음이 함수가 아닙니다.

무엇이 일어나고 :

jQuery('.btn-red').on('click', function() { 

     var var1 = jQuery(this).data('target'); 

     jQuery('#cancel_form_display').load(url + var1, function (response, status, xhr) { 
      if (status == "success") { 

       jQuery(var1).modal('show'); 
      } 
     }); 
    }); 

것은 내가 여러 JS/jQuery를 플러그인을 사용하고 있습니다 :

가 여기 내 코드입니다. 그래서 jQuery를 no-conflict 모드로 사용하고 있습니다. 을 사용하여 대신 'jQuery' '$'을 사용하십시오.

jQuery(var1).modal('show'); 

무엇 내가 시도 : 때이 기능은 라인에 '함수 정의되지되지 않은'나는 무엇입니까라고?

  1. 같은 문제 다른 게시물의 제안을 따라 bootstrap.min.js이로드되었는지 확인했다.

    jQuery(var1).modal({show:true});

  2. 은 플러그인 파일의 로딩 순서를 변경 :
  3. 는에 함수 라인을 변경했습니다.

나는 또한이 오류를 얻고있다 추가 정보 : '쇼'

내가로드 오전 : prototype.js에 이는 방법이다과 관련된 디스플레이 '정의의' '속성을 설정할 수 없습니다' 이 순서에서 JS 파일 :

  1. jQuery를-lib 디렉토리/2.0.3/jquery.min.js

  2. 페이지 rototype.js

  3. bootstrap.min.js

이 사람이 나를 도와 드릴까요? 당신은 당신의 코드를 변경해야

+0

나는 그 시점에'var1'이 무엇인지 확인하고,이 클릭 방법 외에서'jQuery (var1) .modal ('show');를 실행하려고 시도했다고 가정합니다. (분명히 var1 대신에 selector 값을 가지고) – roryok

+0

위의 함수는 별도의 html 파일에 있으므로 테스트를 거쳤습니다. 나는 잘 작동한다. 내 webapp에 복사하려고하면 위의 오류가 발생합니다 – maverick1989

+0

다음과 같은 작업을 수행하거나 ... http://jsfiddle.net/qrq7cez0/ –

답변

0

이다 : 당신은 모달 호출

jQuery('#'+var1).modal('show'); 

당신은 당신의 변수 앞에 # 기호를 통과해야하거나 대상 속성에 # 기호를 설정 한 경우 다음 필요가 그것을 쓸 수 있습니다.

+0

감사합니다. 이것은 위의 문제를 해결합니다. 하지만 새로운 오류가 발생합니다. '인식 할 수없는 표현식 : ## cancel_form'. 나는 나의 데이터 (target)를 다음과 같이 명명했다 : #cancel_form. 그래서 나는 여러분의 라인이 그것에 하나 더 '#'더하는 것 같아요. – maverick1989

관련 문제