2011-09-20 47 views
1

我试图围绕这个来包裹我的头。我的语言是使用PlayFramework的Java,但我认为任何使用PHP的答案,或在轨道上的红宝石会让我在正确的方向。基本上用户可以以这种形式添加或拿走多个托盘。还需要每个标签都有一些javavscript计算。一切都是使用输入更改jquery事件触发的,因此没有提交按钮。我的第一个模型使用UUID,但这似乎让我无处可去。根据用户输入提交可变长度表格

enter image description here

enter image description here

会发生什么事是每个选项卡是承担一切做计算像周边。我的第一个问题是如何为特定选项卡调用JavaScript。我首先使用UUID和每个选项卡单独的脚本完成它。这似乎不正确。

我的第二个问题是提交这些数据。显然名称参数需要不同。所以我在这件事上挠头。每个托盘都会标上一个ID,所以我不担心后端,就像我试图弄清楚前端和控制器的结构一样。

任何帮助将是伟大的。谢谢。

回答

1

对于javascript部分,假设所有选项卡都具有相同的结构,请创建一个通用方法,该方法接收并将id(选项卡的id)作为参数,然后从计算中检索适当的字段。喜欢的东西:

function doCalc(tabId){ //assumes jquery 
    var tab = $("#"+tabId); 
    var field1 = $("#"+tabId+"_field1"); 
    var field2 = $("#"+tabId+"_field2"); 
    //...etc to retrieve tabs 
} 

该方法假定,当你创建一个标签“tabId”和它的元素,生成公式“tabId_”的元素,这将有助于找到他们的ID。

关于提交,使用Play!你应该检查这个关于Ajax请求的section。它可以和计算(上面的方法)一样简单,最后通过Ajax调用Play方法。此方法将获得托盘(给定选项卡的托盘)的所有参数(id,值等)并保存。

1

对于提交,我假设你正在试图弄清楚如何保存和传递一个bean中的数据。怎么样有一个字段如下:

LinkedHashMap<String, LinkedHashMap<String, Object>> field; 

内部地图将在托盘上的字段列表。外部地图是托盘。