gpt4 book ai didi

jquery - 页面上包括jquery菜单和jqGrid

转载 作者:行者123 更新时间:2023-12-01 01:39:24 25 4
gpt4 key购买 nike

我有一个导航菜单,我需要将其包含在我的所有页面上....通过 jsp 我只包含该菜单

<div id="header"><jsp:include page="../menu_v1.jsp"/></div>

但问题是我的菜单包含 <html><head></head><body></body></html>现在,当我想使用我的 jqGrid 时,它是在 <script></script> 内的新页面上定义的。它没有显示...因为它与我的 header jquery 脚本冲突...我尝试过的解决方案:

  1. 使用iframe但这不会让我控制我的其他页面。
  2. 而不是包含 <jsp:include page=""/>我可以在同一个脚本下的每个页面上包含带有 jquery 导航的所有组件...这可能根本不是一个好的解决方案,因为每当我需要在菜单中包含更多组件时,我就必须在每个页面上进行更改...

如果有人有更好的解决方案...请告诉我...谢谢!

更新:我的主菜单代码

<script type="text/javascript"> 
//<![CDATA[

var navMenu = function(){

jQuery("ul.subnav").parent().append("<span></span>");

jQuery("ul.topnav li span").hover(function() {

jQuery(this).parent().find("ul.subnav").slideDown('fast').show();

jQuery(this).parent().hover(function() {
}, function(){
jQuery(this).parent().find("ul.subnav").slideUp('slow');
});
}).hover(function() {
jQuery(this).addClass("subhover");
}, function(){
jQuery(this).removeClass("subhover");
});

}
//]]>
</script>


<div id="topbar">
<div class="disclaimer"></div>
<ul class="topnav">
<li>
<a href="#">Order Management</a>

<ul class="subnav">
<li><a href="<%=request.getContextPath()%>/jsp/1.jsp">1</a></li>
<li><a href="<%=request.getContextPath() %>/jsp/2.jsp">2</a></li>

</ul>
</li>
<li>
<a href="#">3</a>
<ul class="subnav">
<li><a href="<%=request.getContextPath()%>/3.jsp">3</a></li>
</ul>
</li>
<li>
<a href="#">4</a>
<ul class="subnav">
<li><a href="<%=request.getContextPath()%>/4.1.do">4.1</a></li>
<li><a href="<%=request.getContextPath()%>/jsp/4.2.jsp">Add Spog</a></li>
<li><a href="<%=request.getContextPath()%>/jsp/4.3.jsp">4.3</a></li>

</ul>
</li>


</ul>
</div>

使用菜单的另一个页面:

script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function(){
navMenu();
jQuery("#test").jqGrid({
sortable:true,
url: '',
datatype:'json',
colNames:['col1','col2', 'col3'],
colModel:[ {name:'col1',index:'col1', width:85, sorttype:"int", align:"center", key:true},
{name:'col2',index:'col2', width:40, sorttype:"int", align:"center"},
{name:'col3',index:'col3', width:100, align:"center"},
],

rowNum:10,
rowList:[10,20,30],
jsonReader : {repeatitems: false,
root: function(obj) {
return obj;
},
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
},
pager: '#pager',
sortname: 'col1',
sortorder: "desc",
loadonce:true,
viewrecords: true,
multiselect: true,
caption: "Test",
height:230
});
jQuery("#test").jqGrid('navGrid','#pager10',{view:true,add:false,edit:false,del:false, searchtext:'Filter'},{},{},{},{multipleSearch:true});
jQuery("#test").jqGrid('hideCol', 'cb');


}) ;
//]]>
</script>
</head>
<body>
<div id="header"><jsp:include page="../menu_v1.jsp"/></div>

但现在的问题是我的菜单和主 jqGrid 根本不工作......

最佳答案

  • 你的菜单不应该有<html><head>等等
  • 您可以在包含它的页面中定义它所需的脚本
  • 如果该页面也是使用包含构建的,则位于 <jsp:include 上方在 header 中,定义一个变量(使用 <c:set )来保存所需的所有脚本,然后在 header 中解析它。

除了上述步骤之外,您还可以使用一些模板引擎,例如 tiles , sitemesh , velocity , freemaker 。那里的页面结构不同,您必须调整您的页面。

关于jquery - 页面上包括jquery菜单和jqGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3646984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com