2012-09-06 3 views
0

며칠 전에 jQuery를 사용하기 시작했습니다. 발생한 문제를 해결하는 방법에 대한 정보를 찾았지만 (적어도 몇 가지 해결 방법으로 해결할 수있는 정보를 얻었습니다.) 현재 문제에 갇혀있는 것 같습니다 :jQuery - 여러 함수에 대한 동적 폼에서 변수 가져 오기

가변 개수의 필드가 있습니다. 필드 수는 사용자 입력에 따라 변경 될 수 있으며 AJAX를 사용하여이를 달성했습니다. 양식이 재생성 될 때마다 입력 된 정보를 보존하기 때문에 양식 필드의 데이터를 게시하고 필드 수가 변경 될 때마다 새로 생성 된 필드를 다시 채우는 데 사용합니다. 이 모든 작품 (비록 내가 그것을하고있다 는걸 알고 오른쪽 방법, 더 자세히).

내가해야 할 일은 다른 AJAX 호출을 위해 양식 필드의 값을 사용하여 페이지에 다른 테이블을 생성하는 것입니다. 첫 번째 AJAX 호출에 대한 필드 값을 얻기 위해 다음 코드를 사용합니다.이 코드는 php로 생성되고 jq_calc11에서 jq_calc99까지 (필드 수에 따라 다름) 확장됩니다. 나는 이것이 아마도 이 아니라는 것을 이해합니다. 그러나 jQuery를 사용하여 2 차원 배열을 게시하는 방법을 알지 못했습니다.

$('#ts_addfields').change(function() 
{ 
var comp_select=$('#ts_addfields').val(); 
var jq_calc11=$('#tb_calc11').val(); 
var jq_calc21=$('#tb_calc21').val(); 
var jq_calc31=$('#tb_calc31').val(); 
var jq_calc41=$('#tb_calc41').val(); 
var jq_calc51=$('#tb_calc51').val(); 
var jq_calc61=$('#tb_calc61').val(); 
var jq_calc71=$('#tb_calc71').val(); 
var jq_calc81=$('#tb_calc81').val(); 
$('#calculator_input').load('/elements/AJAX-addfields.php',{addFields: comp_select, pCalc11:jq_calc11, pCalc21:jq_calc21, pCalc31:jq_calc31, pCalc41:jq_calc41, pCalc51:jq_calc51, pCalc61:jq_calc61, pCalc71:jq_calc71, pCalc81:jq_calc81});  
    }); 

지금 내 질문에 다른 AJAX 호출을 위해이 변수의 값을 어떻게 다시 사용할 수 있습니까? 다른 함수에 대해 PHP를 통해 생성 된 또 다른 잠재적 인 99 행을 갖는 것이 좋은 생각이라고 생각하지 않으므로이 값을 별도의 함수에 배치하고 $('#ts_addfields').change(function() 또는 다른 함수 내부에서 호출 할 가능성을 검토했습니다. 다음과 같은 다양한 변형을 시도했지만 아직 변수를 읽는 함수를 실행하는 방법을 찾을 수 없습니다.

jQuery.fn.calcVars = function(){ 
var jq_calc11=$('#tb_calc11').val(); 
var jq_calc21=$('#tb_calc21').val(); 
var jq_calc31=$('#tb_calc31').val(); 
var jq_calc41=$('#tb_calc41').val(); 
var jq_calc51=$('#tb_calc51').val(); 
var jq_calc61=$('#tb_calc61').val(); 
var jq_calc71=$('#tb_calc71').val(); 
var jq_calc81=$('#tb_calc81').val(); 
}; 

$('#ts_addfields').change(function() 
{ 
var comp_select=$('#ts_addfields').val(); 
$(this).calcVars(); 
$('#calculator_input').load('/elements/AJAX-addfields.php',{addFields: comp_select, pCalc11:jq_calc11, pCalc21:jq_calc21, pCalc31:jq_calc31, pCalc41:jq_calc41, pCalc51:jq_calc51, pCalc61:jq_calc61, pCalc71:jq_calc71, pCalc81:jq_calc81});  
    }); 

코드 내가 해봤 반환 "jq_calc * XX *"불을 지르고에서 정의되지 않은 오류가 발생했습니다.

누군가 나를 올바른 방향으로 안내 할 수 있습니까?

+1

까지 두 차원 배열을 게시와 같은, 당신이 사용할 수있는 JSON : http://stackoverflow.com/questions/6783772/serialize- json-2-dimensional-array-send-2-array-or-other – malificent

답변