Jquery 如何从primefaces数据表中删除/取消绑定rowSelect事件
我的主要问题是要删除/取消绑定rowSelect、rowUnselect和rowDblselect事件Jquery 如何从primefaces数据表中删除/取消绑定rowSelect事件,jquery,jsf,jsf-2,primefaces,Jquery,Jsf,Jsf 2,Primefaces,我的主要问题是要删除/取消绑定rowSelect、rowUnselect和rowDblselect事件 从数据表 <p:dataTable id="myTable" value="#{myBean.myLazyModel}" var="var" selection="#{myBean.selectedBean}" styleClass="uta-table lightgrey-table"> <p:column selectionMode="
从数据表
<p:dataTable id="myTable" value="#{myBean.myLazyModel}" var="var"
selection="#{myBean.selectedBean}" styleClass="uta-table lightgrey-table">
<p:column selectionMode="multiple" id="select"
style="width:2%;text-align:center" />
<p:column id="namecol" headerText="Name" style="text-align:center">
<p:inputText id="name" value="#{var.name}"
styleClass="uta-textbox" style="text-align:center">
</p:inputText>
</p:column>
</p:dataTable>
假设datatable只有5行。现在我通过选中复选框(而不是单击行)选择了前4行。如果我选择第五行
单击该行(不选中复选框),然后取消选择前4行,从而仅选择第5行。这与我的客户有关
为了避免这个问题,我想取消绑定/删除rowSelect事件意味着我应该只能通过选中复选框来选择一行。primeface showcase中也存在同样的问题
我尝试使用jQuery css选择器通过以下两种方式解除绑定/删除rowSelect事件
<script type="text/javascript">
jQuery(function() {
$('.lightgrey-table').off("rowSelect");
$('.lightgrey-table').off("rowUnselect");
$('.lightgrey-table').off("rowDblselect");
});
</script>
jQuery(函数(){
$('.lightgrey table').off(“行选择”);
$('.lightgrey table')。关闭(“行取消选择”);
$('.lightgrey table').off(“rowDblselect”);
});
第二条路
<script type="text/javascript">
jQuery(function() {
$('.lightgrey-table').unbind("rowSelect");
$('.lightgrey-table').unbind("rowUnselect");
$('.lightgrey-table').unbind("rowDblselect");
});
</script>
jQuery(函数(){
$('.lightgrey table')。取消绑定(“行选择”);
$('.lightgrey table')。取消绑定(“行取消选择”);
$('.lightgrey table')。取消绑定(“rowDblselect”);
});
这两个都不适合我。谁能帮我解决这个问题
提前感谢各位这并不明显,但按CTRL键将允许选择多行,而不会影响已选择的行 如果CTRL键选项对客户端无效,则需要重新打开jQuery“$”快捷方式才能在PrimeFaces应用程序上使用它。包括以下JSF outputScript标记:
<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<h:outputScript target="head">
$ = jQuery; // Put $ back so we can use jQuery in the default mode.
$(document).ready(function() {
// put your jQuery code here....
}); </h:outputScript>
$=jQuery;//将$放回,以便我们可以在默认模式下使用jQuery。
$(文档).ready(函数(){
//将jQuery代码放在这里。。。。
});
您可以这样设计列
<p:datatable ...
<p:column selectRow="false" ... />
</p:datatable>
很难理解你想做什么?@Makky我编辑了这个问题。我相信现在可以理解了。请让我知道你还是不明白。感谢您的回复。我坚信p:column selectionMode=“multiple”
应该禁用行单击选择,只为复选框启用它。然而,这似乎不是他们的优先事项@XtremeBiker感谢链接,正如专家在链接中评论的那样,我们的项目不能作为专业项目。感谢回复。但是,我们可能需要按照客户提出的问题中所述的那样做。让我们看看进展如何非常感谢你