我有一个显示记录的循环,我想向所有行添加提交按钮。他们需要提交的原因是,当用户选择其中一个按钮时,我希望在底部有一个表单。
我已经看到有关使用延迟等的评论,但似乎没有什么对我有用。我正在尝试的当前提交代码是:
<input t:id="deleteItem" t:type="submit" t:context="item.number.content" value="deleteItem" class="deleteItem" />
扩展上下文:我列出的当前上下文只是 item 对象中 number 对象中的一个字符串。事实上,它在上面的代码中显示得非常好。
为了进行不同的测试,我用 getContext() 方法替换了 item.number.content 并让它返回一个硬编码的 1。然后我调试这个方法并看到它在页面提交时被调用,而不是页面像我预期的那样呈现。
直到按下按钮后才会填充上下文。我是不是误会了什么??
编辑:
所以我的问题是获取上下文值。以我的代码为例:
<t:loop source="itemsList" value="item" formState="none">
<!-- Display info here -->
<input t:id="deleteItem" t:type="submit" t:context="myContext" value="deleteItem" class="deleteItem" />
</t:loop>
getMyContext 的定义是:
public String getMyContext() {
String context = item.getNumber().getContent();
return context;
}
问题是,在按下提交之后,该方法才会被调用,此时变量“item”为空。我期望每次呈现提交按钮时都会调用 getMyContext ,然后在选择提交时,将使用适当的上下文触发事件。那有意义吗?