2013-01-07 2 views
1

나는 특정 행 버튼을 클릭하면 행의 특정 데이터를 가져와 동일한 페이지에서 ajax를 통해 해당 데이터를 표시해야하는 문제가 있습니다. 아래와 같이play 2.0 프레임 워크에서 jquery-ajax 사용

@(products: List[Products]) 

@import helper._ 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
<h1>@products.size() product(s)</h1> 
<table border=1> 
<tr> 
<td>Product Name</td> 
<td>Quantity</td> 
<td>Price</td> 
</tr> 
@for(product <- products) { 
    <tr> 
     <td> 
      @product.productname 
     </td> 
     <td> 
      @product.quantity 
     </td> 
     <td>   
      @product.price 
     </td> 
     <td>   

      <input type="button" value="Add Product" name="@routes.Application.user(@product.product_id)" id="but"/> 

     </td> 
    </tr> 
} 
</table> 


<div class="result" style="border: 1px solid black; padding: 5px;">not sent yet...</div> 


<script type="text/javascript"> 
    jQuery("#but").click(
      function() { 
       $.get(jQuery(this).attr("name"), function (data) { 
        $('.result').html(data); 
       }); 
       return false; 
      } 
    ) 
</script> 

내 Application.java 메소드를 포함 : 여기

는 index.scala.html의 코드

public static Result user(id){ 
     return ok("Play's controller told that you're about to get data for user no. "+id); 
    } 

내가 직면하고 문제가 일치한다 :

 **<input type="button" value="Add Product" name="@routes.Application.user(@product.product_id)" id="but"/>** 

오류입니다 : 컴파일 오류 불법적 인 간단한 표현의 시작

누구나 다이 먼 데이터를로드하는 데 도움을 줄 수 있습니까?

답변

2

두 번째 @ 제거하십시오 :

@routes.Application.user(product.product_id) 

두 번째가 필요하지 않은 첫 번째는 당신이 템플릿 언어에있어 나타냅니다 때문이다.

+0

나는 똑같이 시도했지만 그다지 효과가 없었다. 이 오류가 발생합니다 : 형식 불일치; 찾았습니다 : java.lang.Integer required : Long –

+0

예, 매개 변수 유형이 정수라는 것을 알았습니다. 지원해 주셔서 감사합니다. Ajax를 사용하여 div에서 전체 페이지 (jsp/html)를 호출 할 수있는 방법을 제안 해 주시겠습니까? –

+0

새 질문을 열어주십시오. –

관련 문제