jQuery 没有在 Primefaces 视图中执行?
jQuery not executing in Primefaces view?
如果我的 Primefaces 视图已加载,我想执行一小段 jQuery 代码。这是 jQuery 函数的代码:
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#myButton').click();
})
</script>
这是我为引用 ID 隐藏的按钮:
<p:commandButton id="myButton" actionListener="#{myController.myFunction()}" value="Bla bla" style="visibility: hidden;" ajax="false" />
这就是 Primefaces 包含的方式 jQuery:
<script type="text/javascript" src="/myapp/faces/javax.faces.resource/jquery/jquery.js?ln=primefaces&v=6.2"></script>
生成了jQuery代码,在html源码里,浏览器可以看到,但是点击功能没有执行,NetBeans断点没有激活(是在 myFunction() 的第一行)。最重要的是:我在 Chrome 脚本控制台中也看不到任何错误或相关跟踪...
我在这里错过了什么?
编辑:
Chrome 如果我输入 "jQuery('myButton')":
脚本控制台会给我这个结果
我也编辑了我的jQuery(我希望没关系所以...),因为id是生成的,所以它只包括我引用的id:
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("input[id*='myButton']").each(function (i, el) {
el.click();
});
})
</script>
谢谢。
编辑 2:
我按照 Melloware 的建议更改了我的代码,现在我的浏览器进入无限重载循环,我在 Chrome 中看到以下错误:
已编辑 jQuery:
<script type="text/javascript">
jQuery(document).ready(function(){
PF('myButton').jq.click();
})
</script>
已编辑按钮 html:
<p:commandButton id="hiddenButton" widgetVar="myButton" actionListener="#{myController.myFunction()}" value="Bla bla" style="visibility: hidden;" ajax="false" />
按照 PrimeFaces 的方式使用 widgetVar...
<p:commandButton id="myButton"
widgetVar="widgetMyButton"
actionListener="#{myController.myFunction()}"
value="Bla bla" style="visibility: hidden;" ajax="false" />
然后在你的 JavaScript...
<script type="text/javascript">
jQuery(document).ready(function(){
PF('widgetMyButton').jq.click();
})
</script>
如果我的 Primefaces 视图已加载,我想执行一小段 jQuery 代码。这是 jQuery 函数的代码:
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#myButton').click();
})
</script>
这是我为引用 ID 隐藏的按钮:
<p:commandButton id="myButton" actionListener="#{myController.myFunction()}" value="Bla bla" style="visibility: hidden;" ajax="false" />
这就是 Primefaces 包含的方式 jQuery:
<script type="text/javascript" src="/myapp/faces/javax.faces.resource/jquery/jquery.js?ln=primefaces&v=6.2"></script>
生成了jQuery代码,在html源码里,浏览器可以看到,但是点击功能没有执行,NetBeans断点没有激活(是在 myFunction() 的第一行)。最重要的是:我在 Chrome 脚本控制台中也看不到任何错误或相关跟踪...
我在这里错过了什么?
编辑:
Chrome 如果我输入 "jQuery('myButton')":
脚本控制台会给我这个结果我也编辑了我的jQuery(我希望没关系所以...),因为id是生成的,所以它只包括我引用的id:
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("input[id*='myButton']").each(function (i, el) {
el.click();
});
})
</script>
谢谢。
编辑 2:
我按照 Melloware 的建议更改了我的代码,现在我的浏览器进入无限重载循环,我在 Chrome 中看到以下错误:
已编辑 jQuery:
<script type="text/javascript">
jQuery(document).ready(function(){
PF('myButton').jq.click();
})
</script>
已编辑按钮 html:
<p:commandButton id="hiddenButton" widgetVar="myButton" actionListener="#{myController.myFunction()}" value="Bla bla" style="visibility: hidden;" ajax="false" />
按照 PrimeFaces 的方式使用 widgetVar...
<p:commandButton id="myButton"
widgetVar="widgetMyButton"
actionListener="#{myController.myFunction()}"
value="Bla bla" style="visibility: hidden;" ajax="false" />
然后在你的 JavaScript...
<script type="text/javascript">
jQuery(document).ready(function(){
PF('widgetMyButton').jq.click();
})
</script>