Struts2 jQuery Conflict - jquery dataTables和Struts2 Jquery插件

时间:2015-06-28 22:52:15

标签: jquery struts2 datepicker datatables struts2-jquery

我目前面临着兼容Datatables和Struts2 Jquery插件的可兼容性问题。 struts2 jquery插件(即。)的唯一初始化使我的数据表不再起作用。 当我删除我的数据表工作精细,但我需要使用Struts2 Jquery插件显示和使用datepicker

我在我的jsp文件中使用它:

<%@taglib  uri="/struts-jquery-tags"        prefix="sx" %>
<head>  <sx:head  jquerytheme="flick" /> 
and this :
<script src="Ressource/lib/datatables/jquery.dataTables.min.js"></script>
<script src="Ressource/lib/datatables/jquery.dataTables.sorting.js"></script>

我需要在我的项目中使用它们,或者它们是另一种提交datepicker的方法

1 个答案:

答案 0 :(得分:2)

我用这个

来解决这个冲突
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<html>
<head>
<sx:head />
</head>

而不是

<%@taglib  uri="/struts-jquery-tags"    prefix="sx" %><
    <html>
    <head>
    <sx:head  jquerytheme="flick" />
    </head>

并使用像这样的数据贴纸:

<sx:datetimepicker name="name"  label="date" displayFormat="dd/mm/yy"                                                               value="today" />    
enter code here

解决方案2

现在一切正常,我struts2-jquery-plugin-3.7.1.jarjquery-min.js 1.7.2一起使用,$()语法总是被其他脚本库使用,导致冲突问题并且无法调用jQuery函数。现在我用这个

$j=jQuery.noConflict();
$j(document).ready(function() {
   dt_b: function() {
        $j('#dt_b').dataTable({
            "sScrollX": "100%",
            "sScrollXInner": '110%',
            "sPaginationType": "bootstrap",
            "bScrollCollapse": true 
             ......
        });
    },
});

而不是

$(document).ready(function() {
  dt_b: function() {
        $j('#dt_b').dataTable({
            "sScrollX": "100%",
            "sScrollXInner": '110%',
            "sPaginationType": "bootstrap",
            "bScrollCollapse": true 
             ......
        });
    },
});

谢谢