刷新dataTable内容时遇到问题。这是我代码的一部分。
<h:inputText id="counterFeatures" value="#{myBean.quantity}">
<f:ajax event="change" render="myDataTable" execute="counterFeatures"></f:ajax>
</h:inputText>
我喜欢做的是当数量发生变化时(使用js脚本动态调整),从我的bean调用setQuantity()
方法并更新该值。
我尝试使用execute="@this"
,但它也不起作用。我需要说的是,当我设置像event="keyup"
这样的事件时,它会起作用,但是我想让事情自动发生,因为在通过JavaScript脚本插入所有数字之后。
我看了一些答案,但由于我对jsf的了解有限,我无法使其发挥作用。
提前致谢
答案 0 :(得分:1)
这确实是正常行为。 HTML DOM change
事件仅在最终用户操作输入字段后触发。如果输入字段由JavaScript以编程方式操作,则基本上需要让相同的JavaScript代码手动触发change
事件。
假设您使用的是Vanilla JS(而不是jQuery),这就是它的样子:
var input = document.getElementById(...);
input.value = newValue;
input.onchange(); // Trigger JavaScript code declared in `onchange` attribute.