2014-03-24 62 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

相關問題