<p:selectCheckboxMenu 中的 onchange 事件在全选时未触发
onchange event in <p:selectCheckboxMenu is not fired when selecting all
这是我的代码:
<p:selectCheckboxMenu id="myselect" onchange="fixLable(this)" value="#{mybean.value}" >
<f:selectItems value="#{mybean.values}"/>
</p:selectCheckboxMenu>
我已经编写了一个名为fixlable(this)的脚本函数,在选择一个复选框时将被调用。
除了 "select all" 复选框外,每次单击复选框时都会调用它。为什么?
"select all" 有单独的属性吗?
我读了:p:selectCheckboxMenu 'Select all' ajax listener not invoked
您可以使用 toggleSelect ajax 事件,然后使用 onajaxstart 或 执行您的代码onsuccess 等....
但我不想使用 ajax,因为它比仅在事件上调用 java 脚本要慢。
有什么建议吗?我很肯定您可以将事件监听器添加到 "select all" 复选框。
这可能有点误导,但您实际上可以使用 <p:ajax>
元素调用 javascript 函数 而无需 发送任何 ajax 请求到服务器。 <p:ajax>
具有 onstart
属性,可以执行任何 javascript 代码。如果你的 return false
来自那个 javascript 块,你会阻止处理请求,因此不会向服务器发送任何内容。
<p:ajax event="toggleSelect" onstart="fixLable(this); return false" />
这是我的代码:
<p:selectCheckboxMenu id="myselect" onchange="fixLable(this)" value="#{mybean.value}" >
<f:selectItems value="#{mybean.values}"/>
</p:selectCheckboxMenu>
我已经编写了一个名为fixlable(this)的脚本函数,在选择一个复选框时将被调用。 除了 "select all" 复选框外,每次单击复选框时都会调用它。为什么? "select all" 有单独的属性吗?
我读了:p:selectCheckboxMenu 'Select all' ajax listener not invoked 您可以使用 toggleSelect ajax 事件,然后使用 onajaxstart 或 执行您的代码onsuccess 等.... 但我不想使用 ajax,因为它比仅在事件上调用 java 脚本要慢。
有什么建议吗?我很肯定您可以将事件监听器添加到 "select all" 复选框。
这可能有点误导,但您实际上可以使用 <p:ajax>
元素调用 javascript 函数 而无需 发送任何 ajax 请求到服务器。 <p:ajax>
具有 onstart
属性,可以执行任何 javascript 代码。如果你的 return false
来自那个 javascript 块,你会阻止处理请求,因此不会向服务器发送任何内容。
<p:ajax event="toggleSelect" onstart="fixLable(this); return false" />