Tôi đang cố gắng tạo danh sách thứ tự các mục có thể nhấp và kéo với phiên bản plugin jQuery UI có thể sắp xếp 1.8.16. Tuy nhiên, tôi tiếp tục nhận được lỗi là $("#ol-id ol").sortable is not a function
, với 'ol-id' là id của danh sách. Mã của tôi như sau:jQuery có thể sắp xếp không phải là chức năng
//Sorting stuff
if($("#li-id li").size()>1) {
$("#ol-id ol").sortable({
revert: true,
axis: 'y',
containment: 'parent',
cursor: 'move',
handle: 'div.link_div',
smooth: false,
opacity: 0.7,
tolerance: 'pointer',
start: function(){
$("#ol-id").removeClass("bottom_dragged");
},
update: function(){
$("#ol-id ol").sortable({disabled : true});
$("#saving_indicator").html("saving...")
$("#saving_indicator").show();
//do other stuff...
}
})
}
Rất tiếc, lỗi xuất hiện trong Firebug như đang ở trên dòng với update: function(){
.
Tôi đã xác minh rằng chức năng này được gọi sau khi cả hai trang được tải và thư viện giao diện người dùng jQuery được tải. Tôi bao gồm cả jquery-1.6.2.min.js và jquery-ui-1.8.16.custom.min.js trong tiêu đề. Hơn nữa, tôi đã xác minh rằng tất cả các tên id là chính xác và phù hợp với các đối tác HTML của chúng.
Vì vậy, nếu đó không phải là nội dung liên quan đến tài nguyên bị thiếu, điều gì gây ra sự cố?
EDIT: đây là tiêu đề HTML của tôi:
<link href="/_css/styles.css?mod=1317745564" type="text/css" rel="stylesheet">
<link href="/_javascript/qtip/jquery.qtip.min.css?mod=1315947301" type="text/css" rel="stylesheet">
<script type="text/javascript" async="" src="http://www.google-analytics.com/ga.js">
<script type="text/javascript" async="" src="http://www.google-analytics.com/ga.js">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js">
<link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/start/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/le-frog/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js" type="text/javascript">
<script src="/_javascript/sets.js?mod=1320080042" type="text/javascript"> //Sorting stuff code is here
<script type="text/javascript" src="http://dev.selfcheck.vudat.msu.edu/_javascript/jquery.jsonp.js">
<script type="text/javascript" src="http://dev.selfcheck.vudat.msu.edu/_javascript/jquery.form.js">
<script type="text/javascript" src="http://dev.selfcheck.vudat.msu.edu/_javascript/qtip/jquery.qtip.min.js">
<link href="/_css/ui/ui.core.css?mod=1315947279" type="text/css" rel="stylesheet">
<link href="/_css/ui/ui.theme.css?mod=1315947280" type="text/css" rel="stylesheet">
Bạn đã bao gồm jQuery UI sau jQuery chưa? –
Hãy thử '$ (this) .sortable ({disabled: true});' bên trong 'update', chỉ để kiểm tra. – yoda
Tôi đã xác minh rằng giao diện người dùng jQuery được tải sau jQuery và vấn đề vẫn còn ở đây. Ngoài ra, việc sử dụng 'this' thay cho id thích hợp sẽ không xóa lỗi. Tuy vậy vẫn cảm ơn về những gợi ý! – CodeRedd