我几天前开始使用jQuery,虽然我找到了解决我遇到的任何问题的信息(或者至少通过一些解决方法让它工作),但我似乎仍然坚持当前的问题:< / p>
我有一个具有可变数量字段的表单 - 字段数可能会根据用户输入在任何时候发生变化,我使用AJAX实现了这一点;由于我想保留每次重新生成表单时输入的信息,我会从表单字段发布数据,并在每次更改字段数时使用它重新填充新生成的字段;这一切都有效(虽然我知道我做的不是正确的方式,更多的是它)。
我需要做的是使用表单字段中的值进行另一个AJAX调用,以在页面上生成另一个表;我使用以下代码获取第一个AJAX调用的字段值,它由php生成,从jq_calc11到jq_calc99(取决于字段数)。我知道这可能不是正确的方式,但我无法弄清楚如何使用jQuery发布二维数组。
$('#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});
});
我尝试过的任何代码都会在firebug上返回“jq_calc * xx *”未定义的错误。
有人能指出我正确的方向吗?