在 primefaces 日历中完全表现怪异

On complete behaving weird in primefaces calendar

这是我的 primefaces 代码

   <p:calendar id="cal1" showButtonPanel="true">
    <p:ajax event="close" oncomplete="clear1();"/>
</p:calendar>
 <p:calendar id="cal2"  showButtonPanel="true">
    <p:ajax event="close" oncomplete="clear2()"/>
</p:calendar>

问题是调用第二个日历时也会调用我定义的第一个 javascript 方法。我检查了我的代码两次并且我正确地调用了该方法?有人可以告诉我为什么会这样吗?我真的很困惑

编辑 1: 这也是我正在尝试的:

     function clear1(){
         $(document).on('click', '.ui-datepicker-close', function () {
          clearValue();
        });
    }
    function clearValue(){
    document.getElementById("form:cal1_input").value="";
    }

  function clear2(){
         $(document).on('click', '.ui-datepicker-close', function () {
          clearValue1();
        });
    }
    function clearValue1(){
    document.getElementById("form:cal2_input").value="";
    }

每当我关闭日历时,它都会打开第一个方法两次和第二个方法两次:( 我通过 alerts.And 检查了它,当只有一个日历时,此方法可以正常工作,如果有多个日历,则会失败

您正在尝试将 "done" 按钮变成 "clear" 按钮。存在一个已解决的问题,但我在日历组件上找不到清晰的按钮:https://github.com/primefaces/primeng/issues/506

也许您应该使用带有清除按钮的日期选择器:https://www.primefaces.org/showcase/ui/input/datePicker.xhtml