大家好,我正在创建一个输入表格,允许一个人在请求中添加多天。每个请求可以随附1或更多天,并且每天都有一些选择,然后才能提交表格。我正在使用 这里描述的方法 实现这一目标。

现在,我想开始执行一些更高级的UI功能,例如使用JSON数据源来建立与亲子关系的下拉列表。我仍然是非常新的网络开发(来自IBM I绿屏开发),因此我仍在以示例和教程为生。我发现只有一组时,我发现了许多父子下拉跌倒的示例,但是我需要为任何数量的行和所有新行添加的所有新行都起作用,同时能够显示正确的选择值对于编辑页面加载时的每一行。最重要的是,我希望在做出某些选择时揭示一些新领域。

这是我到目前为止所拥有的:Multi-day entry

(这是屏幕截图是基于不必担心最终功能而只是使其正常工作。孩子下拉目前显示所有内容。)

请求类型选择您要服用的休假类型。使用小时类型根据输入的请求类型获取列表。我在上述问题上遇到的问题是在单击“添加日”时将其用于添加的新行。然后,挑战是根据请求类型显示/隐藏第二行。如果一个人选择生病的员工疾病,则疾病的性质应显示出其他选择,它既表现出疾病的性质又显示出关系的性质。如果他们选择假期,他们不应该看到任何一个领域。

我为这些列表设置了JSON设置。我包括定义哪个选项显示的字段。

[{"Id":11,"Title":"Employee Illness","ParentId":10,"MapToCode":"02","HasRelationship":false,"HasNatureOfIllness":true,"ChildRequired":false,"Notes":"","AccrualCode":"S"},
{"Id":1,"Title":"Vacation","ParentId":0,"MapToCode":"04","HasRelationship":false,"HasNatureOfIllness":false,"ChildRequired":false,"Notes":"","AccrualCode":"VAC"}]

我知道这对新手来说是很多东西。是否有人这样做了,愿意分享或知道教程,甚至可以将我指向正确的方向? (即使是正确的术语)到目前为止,我对此的搜索已经失败。

有帮助吗?

解决方案 2

我有一个解决方案的开始 这个问题.

其他提示

我可以推荐的最好的事情,抓住一行的普通父母,并将其用作整个行的其余部分的参考点。 (如果这些是 <tr>表格,标记tr或给它一个可以用来调用的课程)。当您需要更改行中的其他内容时,请使用 .closest 要找到父母,然后回到您想要的领域。

接下来,除非此数据真正动态,否则请尝试将下拉纸的结果缓存到可以在每个新行中使用的局部变量。也就是说,如果总是有相同的条目(通过AJAX检索)用于请求类型和使用小时类型,请重新填充它 var request_typesvar use_hours_types.

第三,寻找使用 .live 尽管这将在初始结合后发生变化,但这将与DOM元素结合。因此,如果行的第二部分是基于下拉菜单的选择,请使用类似的内容:

$('dropdown').live('change',function(){
   $(this).close('parent_object').filter('.corresponding_row').show();
});

(或一些传真)。

在没有看到您已经拥有的代码的情况下,只需考虑一下如何收集信息的另一种方法即可。艰难的部分是您不想用AJAX数据(大概)对每个下拉菜单进行广泛的重新分配,因为这会影响当前的选择。因此,只要可能保存数据并在创建新行时使用它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top