学校列表div 下拉分页
This commit is contained in:
parent
dc1e72a64b
commit
9330418668
|
@ -125,16 +125,18 @@ class SchoolController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if(condition == '')
|
if(condition == '')
|
||||||
@school = School.all
|
@school = School.page((params[:page].to_i || 1) - 1).per(100)
|
||||||
|
@school_count = School.count
|
||||||
else
|
else
|
||||||
@school = School.where("name like '%#{chinese.join("")}%' and pinyin like '%#{pinyin.join("")}%'").all
|
@school = School.where("name like '%#{chinese.join("")}%' and pinyin like '%#{pinyin.join("")}%'").page((params[:page].to_i || 1) - 1).per(100)
|
||||||
|
@school_count = School.where("name like '%#{chinese.join("")}%' and pinyin like '%#{pinyin.join("")}%'").count
|
||||||
end
|
end
|
||||||
|
|
||||||
result = []
|
result = []
|
||||||
# @school.each do |sc|
|
# @school.each do |sc|
|
||||||
# result << {:value=>sc.name,:data=>sc.id}
|
# result << {:value=>sc.name,:data=>sc.id}
|
||||||
# end
|
# end
|
||||||
render :json => @school.to_json
|
render :json =>{ :schools => @school,:count=>@school_count}.to_json
|
||||||
end
|
end
|
||||||
|
|
||||||
#添加学校
|
#添加学校
|
||||||
|
|
|
@ -542,19 +542,41 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var lastSearchCondition = '';
|
var lastSearchCondition = '';
|
||||||
|
var page = 1; //唯一控制页码 变量
|
||||||
|
var count = 0; //查询结果的总量
|
||||||
|
var maxPage = 0 ;//最大页面值
|
||||||
$(function() {
|
$(function() {
|
||||||
// $("input[name='province']").keydown(function(e){
|
$("#search_school_result_list").scroll(function(e){
|
||||||
// if(e.keyCode == 13 && $("#search_school_result_list").css('display') == 'block'){
|
nScrollHight = $(this)[0].scrollHeight;
|
||||||
// str = $("#search_school_result_list").children().eq(0).attr('onclick').match(/\(.*\)/)[0]
|
nScrollTop = $(this)[0].scrollTop;
|
||||||
//
|
var nDivHight = $(this).height();
|
||||||
// str = str.replace(/\(/,'').replace(/\)/,'');
|
if(nScrollTop + nDivHight >= nScrollHight) //到底部了,
|
||||||
// arr = str.split(',');
|
{
|
||||||
// id = arr[1].replace(/\'/,'')
|
//判断页码是否是最大值,如果是的,就不去请求了
|
||||||
// name = arr.replace(/\'/,'')
|
if(page >= maxPage){
|
||||||
// changeValue(name,id);
|
return;
|
||||||
// return false;
|
}else{ //如果不是,那就请求下一页,请求数据处理
|
||||||
// }
|
page ++;
|
||||||
// });
|
$.ajax({
|
||||||
|
url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + $("input[name='province']").val() + '&page=' + page,
|
||||||
|
type: 'post',
|
||||||
|
success: function (data) {
|
||||||
|
schoolsResult = data.schools;
|
||||||
|
if (schoolsResult.length != undefined && schoolsResult.length != 0) {
|
||||||
|
var i = 0;
|
||||||
|
for (; i < schoolsResult.length; i++) {
|
||||||
|
link = '<a onclick="window.changeValue(\'' + schoolsResult[i].school.name.replace(/\s/g, " ") + '\',\'' + schoolsResult[i].school.id + '\')" href="javascript:void(0)">' + schoolsResult[i].school.name + '</a><br/>';
|
||||||
|
$("#search_school_result_list").append(link);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
//查询学校
|
//查询学校
|
||||||
$("input[name='province']").on('input', function (e) {
|
$("input[name='province']").on('input', function (e) {
|
||||||
throttle(shcool_search_fn,window,e);
|
throttle(shcool_search_fn,window,e);
|
||||||
|
@ -568,20 +590,25 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function shcool_search_fn(e){
|
function shcool_search_fn(e){
|
||||||
$("input[name='occupation']").val(''); //一旦有输入就清空id。
|
|
||||||
if($(e.target).val().trim() == lastSearchCondition && $(e.target).val().trim() != ''){
|
if($(e.target).val().trim() == lastSearchCondition && $(e.target).val().trim() != ''){//如果输入框没有改变或者输入框为空就返回
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
$("input[name='occupation']").val(''); //一旦有输入就清空id。
|
||||||
lastSearchCondition = $(e.target).val().trim();
|
lastSearchCondition = $(e.target).val().trim();
|
||||||
|
page = 1; //有新的搜索,页面重置为1
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value,
|
url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value+'&page='+page,
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if(data.length != undefined && data.length != 0) {
|
schoolsResult = data.schools;
|
||||||
|
count = data.count;
|
||||||
|
maxPage = count % 100 + 1; //最大页码值
|
||||||
|
if(schoolsResult.length != undefined && schoolsResult.length != 0) {
|
||||||
var i = 0;
|
var i = 0;
|
||||||
$("#search_school_result_list").html('');
|
$("#search_school_result_list").html('');
|
||||||
for (; i < data.length; i++) {
|
for (; i < schoolsResult.length; i++) {
|
||||||
link = '<a onclick="window.changeValue(\'' + data[i].school.name.replace(/\s/g," ") + '\',\'' + data[i].school.id + '\')" href="javascript:void(0)">' + data[i].school.name + '</a><br/>';
|
link = '<a onclick="window.changeValue(\'' + schoolsResult[i].school.name.replace(/\s/g," ") + '\',\'' + schoolsResult[i].school.id + '\')" href="javascript:void(0)">' + schoolsResult[i].school.name + '</a><br/>';
|
||||||
$("#search_school_result_list").append(link);
|
$("#search_school_result_list").append(link);
|
||||||
}
|
}
|
||||||
$("#search_school_result_list").css('left', $(e.target).offset().left);
|
$("#search_school_result_list").css('left', $(e.target).offset().left);
|
||||||
|
@ -590,7 +617,7 @@
|
||||||
$("#search_school_result_list").show();
|
$("#search_school_result_list").show();
|
||||||
if($(e.target).val().trim() != '') {
|
if($(e.target).val().trim() != '') {
|
||||||
str = e.target.value.length > 8 ? e.target.value.substr(0, 6)+"..." : e.target.value;
|
str = e.target.value.length > 8 ? e.target.value.substr(0, 6)+"..." : e.target.value;
|
||||||
$("#hint").html('找到了' + data.length + '个包含"' + str + '"的高校');
|
$("#hint").html('找到了' + count + '个包含"' + str + '"的高校');
|
||||||
$("#hint").show();
|
$("#hint").show();
|
||||||
}else{
|
}else{
|
||||||
$("#hint").hide();
|
$("#hint").hide();
|
||||||
|
@ -610,45 +637,46 @@
|
||||||
$("#search_school_result_list").hide();
|
$("#search_school_result_list").hide();
|
||||||
$("#hint").hide();
|
$("#hint").hide();
|
||||||
}
|
}
|
||||||
})
|
|
||||||
$("input[name='province']").on('focus', function (e) {
|
|
||||||
if($(e.target).val() == ''){ //
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if( $("input[name='occupation']").val() != ''){ //如果已经有id了。肯定存在,不用去找了。
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$.ajax({
|
|
||||||
url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value,
|
|
||||||
type: 'post',
|
|
||||||
success: function (data) {
|
|
||||||
if(data.length != undefined && data.length != 0) {
|
|
||||||
var i = 0;
|
|
||||||
$("#search_school_result_list").html('');
|
|
||||||
for (; i < data.length; i++) {
|
|
||||||
link = '<a onclick="window.changeValue(\'' + data[i].school.name.replace(/\s/g," ") + '\',\'' + data[i].school.id + '\')" href="javascript:void(0)">' + data[i].school.name + '</a><br/>';
|
|
||||||
$("#search_school_result_list").append(link);
|
|
||||||
}
|
|
||||||
$("#search_school_result_list").css('left', $(e.target).offset().left);
|
|
||||||
$("#search_school_result_list").css('top', $(e.target).offset().top + 28);
|
|
||||||
$("#search_school_result_list").css("position", "absolute");
|
|
||||||
$("#search_school_result_list").show();
|
|
||||||
if ($(e.target).val().trim() != '') {
|
|
||||||
str = e.target.value.length > 8 ? e.target.value.substr(0, 6) + "..." : e.target.value;
|
|
||||||
$("#hint").html('找到了' + data.length + '个包含"' + str + '"的高校');
|
|
||||||
$("#hint").show();
|
|
||||||
} else {
|
|
||||||
$("#hint").hide();
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
$("#search_school_result_list").html('');
|
|
||||||
str = e.target.value.length > 4 ? e.target.value.substr(0, 4)+"..." : e.target.value;
|
|
||||||
$("#hint").html('没有找到包含"'+str+'"的高校,<a style="color:#64bdd9" onclick="add_school(\''+ e.target.value+'\');" href="javascript:void(0);">创建高校</a>');
|
|
||||||
$("#hint").show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
// $("input[name='province']").on('focus', function (e) {
|
||||||
|
// if($(e.target).val() == ''){ //
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// if( $("input[name='occupation']").val() != ''){ //如果已经有id了。肯定存在,不用去找了。
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// $.ajax({
|
||||||
|
// url: '<%#= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value,
|
||||||
|
// type: 'post',
|
||||||
|
// success: function (data) {
|
||||||
|
// if(data.length != undefined && data.length != 0) {
|
||||||
|
// var i = 0;
|
||||||
|
// $("#search_school_result_list").html('');
|
||||||
|
// for (; i < data.length; i++) {
|
||||||
|
// link = '<a onclick="window.changeValue(\'' + data[i].school.name.replace(/\s/g," ") + '\',\'' + data[i].school.id + '\')" href="javascript:void(0)">' + data[i].school.name + '</a><br/>';
|
||||||
|
// $("#search_school_result_list").append(link);
|
||||||
|
// }
|
||||||
|
// $("#search_school_result_list").css('left', $(e.target).offset().left);
|
||||||
|
// $("#search_school_result_list").css('top', $(e.target).offset().top + 28);
|
||||||
|
// $("#search_school_result_list").css("position", "absolute");
|
||||||
|
// $("#search_school_result_list").show();
|
||||||
|
// if ($(e.target).val().trim() != '') {
|
||||||
|
// str = e.target.value.length > 8 ? e.target.value.substr(0, 6) + "..." : e.target.value;
|
||||||
|
// $("#hint").html('找到了' + data.length + '个包含"' + str + '"的高校');
|
||||||
|
// $("#hint").show();
|
||||||
|
// } else {
|
||||||
|
// $("#hint").hide();
|
||||||
|
// }
|
||||||
|
// }else {
|
||||||
|
// $("#search_school_result_list").html('');
|
||||||
|
// str = e.target.value.length > 4 ? e.target.value.substr(0, 4)+"..." : e.target.value;
|
||||||
|
// $("#hint").html('没有找到包含"'+str+'"的高校,<a style="color:#64bdd9" onclick="add_school(\''+ e.target.value+'\');" href="javascript:void(0);">创建高校</a>');
|
||||||
|
// $("#hint").show();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
// $("#province").leanModal({top: 100, closeButton: ".modal_close"});
|
// $("#province").leanModal({top: 100, closeButton: ".modal_close"});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue