2014-03-24 60 views
0

其实我正在为我的asp.net项目寻找clientside复选框控件+可滚动的gridview。我从http://gridviewscroll.aspcity.idv.tw/Demo/Form.aspx#CheckBoxClient得到了一篇好文章。我已经发布了以下给出的代码,我已经从上面的网站中获得了代码。这里只有带有可滚动功能的固定标题可以很好地工作,但是CheckBox客户端不起作用。谁能帮我?在同一页面上运行的多个JQuery版本不起作用

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script> 
<script type="text/javascript" src="../Scripts/gridviewScroll.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
gridviewScroll(); 
}); 

function gridviewScroll() { 
$('#<%=GridView1.ClientID%>').gridviewScroll({ 
width: 660, 
height: 200, 
freezesize: 3 
}); 

var cbSelecteds1 = "cbSelecteds1_freezeheader"; 
var cbSelected1 = "<%=GridView1.ClientID%>_cbSelected1"; 

CheckBoxCheckAll(cbSelecteds1, cbSelected1); 

var cbSelecteds2 = "cbSelecteds2_Copy"; 
var cbSelected2 = "<%=GridView1.ClientID%>_cbSelected2"; 

CheckBoxCheckAll(cbSelecteds2, cbSelected2); 
} 

function CheckBoxCheckAll(checkboxs, checkbox) 
{ 
$('#' + checkboxs).change(function() { 
var checked = $(this).is(':checked'); 
$('input[id*="' + checkbox + '"]').attr('checked', checked); 
}); 

$('input[id*="' + checkbox + '"]').change(function() { 
var checked = $(this).is(':checked'); 
if (!checked) { 
$('#' + checkboxs).attr('checked', false); 
} 
else { 
var allchecked = true; 
$('input[id*="' + checkbox + '"]').each(function() { 
var checked = $(this).is(':checked'); 
if (!checked) { 
allchecked = false; 
} 
}); 
$('#' + checkboxs).attr('checked', allchecked); 
} 
}); 
} 
</script> 
+0

为什么你需要多个jQuery的版本? –

+0

你应该只使用1版本的jQuery。当你包含多于1个时,它们将会相互冲突。 – wf4

+0

[我可以在同一页上使用多个版本的jQuery吗?](http://stackoverflow.com/questions/1566595/can-i-use-multiple-versions-of-jquery-on-the-same -page) –

回答

0

您正在使用live()方法并链接大于1.7的库版本,这已被弃用。改为使用on method。或者,要使live()方法起作用,您需要链接jquery库版本低于1.7的版本。


建议:

只需使用只有一个版本的jQuery。

0

为什么包含多个jquery s?你应该只有一个。它将被加载到全局名称空间中。

0

通常,您应该只使用一个jQuery版本。我会建议更高版本。

但是,如果你没有选择,那么你就需要看看jQuery.noConflict()

所以你的情况,你可以保持$签收其使用的版本1.8.3的代码。

对于1.8.2版本,可以使用不冲突的方式是这样的:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script> 
<script type="text/javascript" src="Scripts/gridviewScroll.min.js" ></script> 

<script type="text/javascript"> 
var jQuery_1_8_2 = $.noConflict(true); 
jQuery_1_8_2(document).ready(function() { 
gridviewScroll();      
}); 

function gridviewScroll() { 
jQuery_1_8_2('#<%=GridView1.ClientID%>').gridviewScroll({ 
width: 960, 
height: 200, 
railcolor: "#F0F0F0", 
barcolor: "#CDCDCD", 
barhovercolor: "#606060", 
bgcolor: "#F0F0F0", 
freezesize: 3, 
arrowsize: 30, 
varrowtopimg: "Images/arrowvt.png", 
varrowbottomimg: "Images/arrowvb.png", 
harrowleftimg: "Images/arrowhl.png", 
harrowrightimg: "Images/arrowhr.png", 
railsize: 16, 
barsize: 8 
});  
}     
</script> 
+0

非常感谢你。按照你的建议尝试。现在gridviewscroll函数正在工作。检查所有功能(例如)1.8.3不工作 – user3454716

+0

尝试以相同的方式对'1.8.3'使用无冲突模式 – Felix

+0

尝试过但同样的问题 – user3454716

相关问题