有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript无法使用remotecommand多次调用JavaBean函数

我只想在每次单击标题时用JavaBean方法打印一条消息

这就是我想做的:

我有一个java bean类(带有注释“Test”),在这个类中,我有一个将与remoteCommand标记关联的方法:

public void printSomething(){
     System.out.println("Something");
}

我在xhtml文件中创建了一个包含remoteCommand标记的表单标记:

<h:form id="form1">
        <p:remoteCommand name="print"
            actionListener="#{Test.printSomething}"/>
</h:form>

这是我的javascript:

<script>
    $('th').on('click', function() {
        alert("Hi");
        print();
    });
</script>

问题是,当我第一次点击标题时,我的函数只被调用了一次(“我的终端上打印了一些东西”)。如果我试图点击另一个标题后,它没有反应。我的javascript中的警告消息在第一次单击后不会出现

你知道我为什么要修,怎么修吗

更新1:我尝试了不同的选择器:

第一次尝试:$('th').click(function(){ ...//结果相同 第二次尝试:$('th').bind('click', function() { ...//结果相同

我不认为这是一个JS问题,我想这一定是primefaces的问题,但我仍然没有找到解决方法

更新2:每次我点击后用F5刷新页面时,它实际上都能工作,但这不是我想要的

更新3:仍然没有找到方法,但我想知道是否可以使用jquery功能“手动”刷新(而不是整个页面)

我想使用load()函数,我想做这样的事情:

<script>
    $('th').on('click', function() {
        alert("Hi");
        print();
        $("#form1").load(location.href + " #form1");
    });
</script>

但它不起作用,这和语法有关吗?我在这里搜索:Refresh/reload the content in Div using jquery/ajax


共 (0) 个答案