在渲染完列表中的div之后,我正在尝试重新加载我的Anythingslider。
<h:selectOneMenu id="dropdownDevice"
value="#{skinningBean.currentDevice}" converter="SkinConverter">
<f:selectItems value="#{skinningBean.myDevicesSI}" var="c"
itemValue="#{c}" />
<a4j:ajax event="change" render="preview" oncomplete="reloadSlider()" />
</h:selectOneMenu>注意:预览div在slider1列表的周围
<script type="text/javascript">
function reloadSlider() {
var $jq = jQuery.noConflict();
$jq(function($){
$jq('#slider1').anythingSlider();
});
}
</script> 但我总是收到这个错误(我尝试了比这个更多的解决方案):
Error: TypeError: $jq(...).anythingSlider is not a function在此之后,只显示简单的列表元素。有什么想法可以让我重新加载滑块吗?
编辑:我不想重新加载整个页面,因为下拉菜单不是我渲染的唯一组件
这是我初始化任何东西滑块的方式:
<script src="../js/jquery.anythingslider.js"></script>
<link rel="stylesheet" href="../css/anythingslider.css" />
<script type="text/javascript">
var $jq = jQuery.noConflict();
$jq(function($){
$jq('#slider1').anythingSlider();
});
</script>我只是复制了它并用一个函数包装了它,所以我可以第二次调用它。
发布于 2013-03-20 20:50:23
问题似乎是noConflict()模式在函数内部被多次调用,将其移到外部:
<script type="text/javascript">
var $jq = jQuery.noConflict();
function reloadSlider() {
$jq(function($){
$jq('#slider1').anythingSlider();
});
}
</script> https://stackoverflow.com/questions/15521029
复制相似问题