【问题标题】:How to call a jQuery by onRowSelect ajax event? [duplicate]如何通过 onRowSelect ajax 事件调用 jQuery? [复制]
【发布时间】:2018-02-28 19:51:15
【问题描述】:

我有一个 jQuery 函数,它由 <select> 标记中选取的值中的“更改”事件执行。 但现在我不需要 <select>,因为我会在我的 jQuery 函数中强制使用该值。

我的页面使用 JSF 和 PrimeFaces)。

我的 jQuery 函数:

var table = '#myTable'
$('#maxRows').on('change', function(){ //Event who need to be changed
    $('.pagination').html('')
    var trnum = 0
    var maxRows = parseInt($(this).val()) //This will be changed for -> var maxRows = 10
    var totalRows = $(table+' tbody tr').length
    $(table+' tr:gt(0)').each(function(){

...more code

(Obs.:此功能在我的<table> 中应用“分页”)

我的选择:

<select id="maxRows">
    <option value="5">5</option>    
    <option value="10">10</option>  
    <option value="15">15</option>
</select>

问题是:我不能使用相同的“更改”事件,因为&lt;select&gt; 将不再存在,从现在开始如何使用 jQuery 函数?可以通过 onRowSelect(如下示例)ajax 事件来实现吗?

<p:ajax event="rowSelect listener="????" />

【问题讨论】:

  • 从 onchange 调用中取出函数,给它一个名字,随时调用
  • 好的,可能会是这样的:function functionName(params){...,但是关于通话,您知道如何通过 onRowSelect 事件进行操作吗?
  • 工作吧,函数:function paginateTable(maxRows){ ... 和调用:&lt;p:ajax event="rowSelect" oncomplete="paginateTable(10)"/&gt;. Thank you!

标签: javascript jquery ajax jsf primefaces


【解决方案1】:

我的解决方案:

功能

function paginateTable(maxRows){
...

函数调用

<p:ajax event="rowSelect" oncomplete="paginateTable(10)"/>

【讨论】:

    【解决方案2】:

    最简单的解决办法是

    1. 用css隐藏#maxRows el(显示:无)
    2. 关于 ajax 完整集值 ($(#maxRows).val(15))
    3. 触发'change'事件($(#maxRows).trigger('change'))

    或者,您可以将侦听器函数移动到单独的一个并按名称调用它。

    【讨论】:

    • Eugene,第二步的代码应该是这样的:&lt;p:ajax event="rowSelect" oncomplete=" ($(#maxRows).val(15))"?
    • Euegene,我像你说的那样隐藏了&lt;select&gt; 元素,只是我所做的函数调用不同。还是谢谢你。
    猜你喜欢
    • 2013-05-29
    • 2023-04-11
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 2017-06-26
    相关资源
    最近更新 更多