2011-03-20 5 views

답변

0

에서

<script> 
$(document).ready(function() { 
    $("#WO_cpp_id").change(function() { 
    id = this.selectedIndex; 
    ajax('{{=URL(r=request,f='get_CIs',vars={'CPP_Id':'#here I want to use id variable')}}', ['WO_cpp_id'], 'WO_ci_id'); 
}) 
.change(); }); </script> 

감사합니다. 파이썬은 페이지가 클라이언트에서 렌더링되기 전에 서버에서 실행됩니다. Javascript는 페이지가 렌더링 된 후 브라우저에서 실행됩니다. id 변수는 Python 코드가 실행될 때 설정되지 않습니다.

대신 기존 쿼리 문자열 (또는 jQuery의 ajax 옵션의 data 속성을 사용하여)로 설정할 추가 데이터를 자바 스크립트 코드에 추가해야합니다.

3

파이썬 코드가 서버에서 실행 중입니다. 귀하의 JavaScript 코드 (따옴표 붙어서)가 클라이언트에서 실행 중입니다. 따라서 Python 코드에서 JavaScript 변수를 직접 사용할 수는 없습니다. 당신이하는 일은 입니다. 여러 가지 방법으로 클라이언트에서 서버로 보내려는 데이터를으로 보냅니다.

"ajax"중 하나입니다. 이 클라이언트 측 코드는 POST에 "fooParameter"매개 변수로 서버에 변수 foo의 내용을 보낼 것이다 : jQuery docsthe Wikipedia article on ajax에서

var foo = "This is some information"; 
$.ajax({ 
    url: "myscript.py", 
    method: "POST", 
    data: {fooParameter: foo}, 
    success: function(responseData) { 
     // Successful POST; do something with the response if you want 
    }, 
    error: function(jxhr, statusText, err) { 
     // Error, handle it 
    } 
}); 

더.

관련 문제