2012-06-07 2 views
0

this jquery 플러그인을 사용하여 양식을 작성하고 있습니다.jquery 함수에 인수를 전달할 때 문제가 발생했습니다.

양식을 수정할 수 있도록하기 위해 사전에 데이터베이스에 저장된 지정된 양식의 json을로드하려고합니다.

나는

<script> 
     $(function(){ 
      $('#my-form-builder').formbuilder({ 
       'save_url': 'jsp/save.jsp', 
       'load_url': 'jsp/load.jsp', 
       'useJson' : true 
      }); 
      $(function() { 
       $("#my-form-builder ul").sortable({opacity: 0.6, cursor:'move'}); 
      }); 
     }); 
</script> 

를 사용해야하지만 난 쿼리 문자열, 예를 들어,와 'load_url을'이 필요 'jsp/load.jsp? id = 11'입니다. 여기서 id는 데이터베이스에있는 양식의 ID입니다.

사용자가 '양식 수정'링크를 클릭하거나 div가로드 될 때 formbuilder 함수를 호출해야합니다.

내가 사용하려고 :와

<script> 
    $('modify').click(function(){ 
       var url = 'jsp/load.jsp?id='.$(this).id; 
       $("#".$(this).id).formbuilder({ 
        'save_url': 'jsp/example-save.jsp', 
        'load_url': url, 
        'useJson' : true 
       }); 
       $(function() { 
        $("modify ul").sortable({opacity: 0.6, cursor:'move'}); 
       }); 
      }); 
</script> 

:

<a href="index.jsp?id=${form.id}" id="${form.id}" class="modify">Modify form</a> 

가 있지만 작동하지 않습니다.

+0

당신은'+'연산자를 사용하여 문자열을 연결할 필요가 없습니다'.'. 이것은 'jsp/load.jsp? id ='+ $ (this) .id;'와'$ ("#) + $ (this) .id) .formbuilder ({' – Alex

+0

@Alex : 하지만 아무 일도 일어나지 않습니다. url = 'jsp/load.jsp? id ='+ $ (this) .id; 또는 url = 'jsp/load.jsp? id ='+ $ (this) .attr (id); isn – Sefran2

답변

2

JavaScript는 .이 아니라 +을 사용하여 문자열을 연결합니다. id을 잡으려면 attr()을 사용해야합니다.

변경이 줄 : var url = 'jsp/load.jsp?id='.$(this).id;

그것은해야한다 : var url = 'jsp/load.jsp?id='+$(this).attr('id');

+1

+1 이것은 나에게 문제가되는 것처럼 보입니다. 문자열을 연결하는 데'.'을 사용하는 것이 PHP 구문이기 때문에 다른 언어에서도 사용되는지는 확실하지 않습니다. PHP와 JS 구문은 다른 점이 비슷합니다. – jammypeach

+0

@jammypeach : 변경했지만 아무 일도 일어나지 않습니다. url = 'jsp/load.jsp? id ='+ $ (this) .id; 또는 url = 'jsp/load. jsp? id = '+ $ (this) .attr (id);이 호출되지 않는다 – Sefran2

+0

또한이 스 니펫'$ ("# $. this) .id)'. 문자열을'.'로 바꾸고 대신'+'를 사용하고,'attr()'이 필요합니다. – ahren