i具有以下代码,因此,当选择单个按钮时,执行AJAX:
<f:ajax event="change"
listener="#{beanName.endDateChange}"
render="endDate dateHdr"
onevent="changeEndDateBox(this)"/>
该代码在其他浏览器中正常工作,但是在选择"广播"按钮时,直到我单击其他地方时,都不会发生。
我已经看到了许多ajax的解决方案在IE中不起作用,例如设置cache = false,但我不确定如何将其转换为XHTML文件中的Ajax代码(我尝试将其立即放置=" true",但这无效)。
您可以尝试将jQuery与JSF一起使用,然后将jQuery Change事件附加到广播按钮。然后,调用Ajax方法并做一些类似的事情:
<input class="rdo" type="radio" value="AA" /> AA<br />
<input class="rdo" type="radio" value="BB" />BB
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(function () {
$(".rdo").each(function (index, item) {
$(item).change(function () {
alert($(this).val());
//ajax code, do something.
})
})
});
</script>