欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于JavaScript實(shí)現(xiàn)類似于百度學(xué)術(shù)高級(jí)檢索功能

 更新時(shí)間:2016年03月02日 08:59:12   作者:程羽蒙  
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)類似于百度學(xué)術(shù)高級(jí)檢索功能 的相關(guān)資料,需要的朋友可以參考下

百度學(xué)術(shù)http://xueshu.baidu.com/高級(jí)檢索是通過(guò)前臺(tái)生成后臺(tái)內(nèi)部高級(jí)語(yǔ)法來(lái)實(shí)現(xiàn)高級(jí)檢索的,可以通過(guò)前臺(tái)js做字符串拼接傳給后臺(tái)實(shí)現(xiàn),難度不大:

下面是高級(jí)檢索的核心功能代碼,我使用的是純js實(shí)現(xiàn),并未使用jquery:

<p class="fl srh-btn">
<input type="submit" class="srh-submit" style="height:px" value="高級(jí)搜索" id="highSearchObj"/>
</p> 
//省略部分調(diào)用關(guān)系
this.highSearch = function () {
document.getElementById('highSearchObj').disabled=true; 
var highSearchHtml = '<div class="highSearch" style="display:block"><div class="highMsg"><ul> \
<li><span id="tabReg" class="tab">包含關(guān)鍵詞</span><input id="kywds" value=""></li> \
<li><span id="tabReg" class="tab">不包含關(guān)鍵詞</span><input id="nokywds" value=""></li>\
<li><span id="tabReg" class="tab">檢索范圍</span>\
<select id="st">\
<option value ="byrw">本院認(rèn)為</option>\
<option value ="sljg">審理經(jīng)過(guò)</option>\
<option value="ygsc">原告訴稱</option>\
<option value="bgbc">被告辯稱</option>\
</select></li>\
</ul>\
<input id="conditionObj" type="submit" value="新增一組條件"></input>\
<hr>\
<div class="fit">\
<select id="type">\
<option value ="all">全部</option>\
<option value ="pj">判決</option>\
<option value ="cd">裁定</option>\
<option value="tz">通知</option>\
<option value="jd">決定</option>\
<option value="tj">調(diào)解</option>\
</select><select id="round">\
<option value ="all">全部</option>\
<option value ="one">一審</option>\
<option value ="two">二審</option>\
<option value="again">再審</option>\
</select>\
<input id="bg" value="">-<input id="end" value="">\
<ul><li><span id="tabReg" class="tab">案由</span><input id="ay" value=""></input></li>\
<li><span id="tabReg" class="tab">法院</span><input id="fy" value=""></input></li>\
</ul></div>\
<ul id="sql"></ul>\
<input id="submitHighSearchObj" type="submit" value="提交高級(jí)搜索"></input>\
</div></div>';
this.highSearchObj = $(highSearchHtml);
$("body").append(this.highSearchObj);
$("#conditionObj").click(function(){
var kywds="\""+document.getElementById("kywds").value.split(" ").join("\"&\"")+"\"";
var st=document.getElementById("st").value;
var nokywds="\""+document.getElementById("nokywds").value.split(" ").join("\"|\"")+"\"";
var sql="<li name=\"highTag\">@("+st+")("+kywds+"-"+nokywds+")</li>";
$("#sql").append(sql);
})
$("#submitHighSearchObj").click(function(){
var highTags=document.getElementsByName("highTag");
var tags="";
var filters="";
var round=document.getElementById("round").value;
var type=document.getElementById("type").value;
var reason=document.getElementById("ay").value.split(" ").join(",");
var court=document.getElementById("fy").value.split(" ").join(",");
var begin=document.getElementById("bg").value;
var end=document.getElementById("end").value;
if(highTags.length==){
var kywds="\""+document.getElementById("kywds").value.split(" ").join("\"&\"")+"\"";
var st=document.getElementById("st").value;
var nokywds="\""+document.getElementById("nokywds").value.split(" ").join("\"|\"")+"\"";
tags="@("+st+")("+kywds+"-"+nokywds+")"; 
} else {
for(i=;i<highTags.length;i++){
tags+=highTags[i].innerHTML;
} 
}
if(round !="all") {
filters+=" round:"+round+";";
}
if(type !="all") {
filters+=" type:"+type+";";
}
if(reason !="") {
filters+=" reason:"+reason+";";
}
if(court !="") {
filters+=" court:"+court+";";
}
if(begin !="" && end !="") {
filters+=" year:";
while(begin<=end) {
filters=filters+begin+",";
begin++;
}
}
if(filters !="") {
tags="magic:"+tags+";filter:"+filters;
}
var formObj = $('<form id="form" action="/search" target="_self" method="get"></form>');
var html = ['<input type="hidden" name="type" value="">'];
html.push('<input type="hidden" name="keyword" value="' + encodeURIComponent(tags) + '">');
html.push('<input type="hidden" name="TypeKey" value="' + encodeURIComponent(tags) +'">');
formObj.html(html.join(","));
$("body").append(formObj);
formObj.submit();
});
// $("#ay").keyup(function(e){
// });
}

第3行到第36行主要是彈窗的HTML代碼。

37,38行使用了js中常用的最簡(jiǎn)單的在頁(yè)面中動(dòng)態(tài)修改前臺(tái)的方法。

第39行和第46行均為對(duì)新增代碼的動(dòng)作處理,用于提交條件和子條件。

在第46行的函數(shù)里面,做了對(duì)字符串的拼接處理。

在第88行到第96行,實(shí)現(xiàn)了通過(guò)隱藏表單提交查詢條件的js+html調(diào)用。

jquery js實(shí)現(xiàn)高級(jí)條件檢索功能中檢索條件切換

基本思路:

1.HTML:

使用table展示所有檢索條件,使用input控件展示每一個(gè)檢索條件,定義兩種CSS類樣式,用以區(qū)分檢索條件的選中與未選中狀態(tài)

2.JS實(shí)現(xiàn):

為未選中的input綁定點(diǎn)擊事件,可通過(guò)綁定未選中的樣式類來(lái)實(shí)現(xiàn),代碼實(shí)現(xiàn)

function (event) {//event為點(diǎn)擊事件
$(event.target).parent().find( '.條件input-selected' ).toggleClass('條件input-selected' ).toggleClass( '條件input-default');
$(event.target).toggleClass( '條件input-selected' ).toggleClass('條件input-default' );
},

此時(shí)就實(shí)現(xiàn)了所有檢索條件的自動(dòng)切換

相關(guān)文章

  • JS中類的靜態(tài)方法,靜態(tài)變量,實(shí)例方法,實(shí)例變量區(qū)別與用法實(shí)例分析

    JS中類的靜態(tài)方法,靜態(tài)變量,實(shí)例方法,實(shí)例變量區(qū)別與用法實(shí)例分析

    這篇文章主要介紹了JS中類的靜態(tài)方法,靜態(tài)變量,實(shí)例方法,實(shí)例變量區(qū)別與用法,結(jié)合實(shí)例形式詳細(xì)分析了JS中類的靜態(tài)方法,靜態(tài)變量,實(shí)例方法,實(shí)例變量相關(guān)功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • 詳解javascript中的Strict模式

    詳解javascript中的Strict模式

    我們都知道javascript是一個(gè)弱類型語(yǔ)言,在ES5之前,javascript的程序編寫(xiě)具有很強(qiáng)的隨意性,我可以稱之為懶散模式(sloppy mode)。比如可以使用未定義的變量,可以給對(duì)象中的任意屬性賦值并不會(huì)拋出異常等等。本文將詳細(xì)介紹javascript中的Strict模式。
    2021-06-06
  • ymPrompt的doHandler方法來(lái)實(shí)現(xiàn)獲取子窗口返回值的方法

    ymPrompt的doHandler方法來(lái)實(shí)現(xiàn)獲取子窗口返回值的方法

    今天在寫(xiě)頁(yè)面時(shí)用到了ymPrompt的win方法來(lái)彈出一個(gè)窗口。由于要用到獲取子窗口返回來(lái)的值判斷是否刷新父窗口,在ymPrompt的組件Demo中一直沒(méi)有找到合適的方法實(shí)現(xiàn)
    2010-06-06
  • 圖片懶加載插件實(shí)例分享(含解析)

    圖片懶加載插件實(shí)例分享(含解析)

    本文主要介紹了圖片懶加載插件,函數(shù)節(jié)流的應(yīng)用以及函數(shù)節(jié)流具體的好處、常用的場(chǎng)景。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • iframe調(diào)用父頁(yè)面函數(shù)示例詳解

    iframe調(diào)用父頁(yè)面函數(shù)示例詳解

    這篇文章主要介紹了iframe如何調(diào)用父頁(yè)面函數(shù),下面有個(gè)不錯(cuò)的示例,大家可以參考下
    2014-07-07
  • javaScript嗅探執(zhí)行神器-sniffer.js

    javaScript嗅探執(zhí)行神器-sniffer.js

    本文主要介紹了javaScript嗅探執(zhí)行神器-sniffer.js的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • js中調(diào)用微信的掃描二維碼功能的實(shí)現(xiàn)代碼

    js中調(diào)用微信的掃描二維碼功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了在js中調(diào)用微信的掃描二維碼功能的實(shí)現(xiàn)代碼,本文給大家分享了注意事項(xiàng)及常見(jiàn)問(wèn)題分析,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 通過(guò)jQuery學(xué)習(xí)js類型判斷的技巧

    通過(guò)jQuery學(xué)習(xí)js類型判斷的技巧

    這篇文章主要介紹了通過(guò)jQuery學(xué)習(xí)js類型判斷的技巧,下面和小編一起來(lái)學(xué)習(xí)一下吧
    2019-05-05
  • Js面試算法詳解

    Js面試算法詳解

    AI的興起,使得大家對(duì)算法的關(guān)注也越來(lái)越高。而作為一個(gè)前端工程師,算法很多時(shí)候是我們的弱點(diǎn),本文譯自國(guó)外一篇面試題。列出了一些簡(jiǎn)單算是跟算法相關(guān)的面試題
    2018-04-04
  • javascript 對(duì)象數(shù)組根據(jù)對(duì)象object key的值排序

    javascript 對(duì)象數(shù)組根據(jù)對(duì)象object key的值排序

    本文僅僅是實(shí)現(xiàn)了javascript 對(duì)象數(shù)組根據(jù)對(duì)象object key的值排序,算是對(duì)自己學(xué)習(xí)javascript這么久的一個(gè)小結(jié),希望大家能夠喜歡
    2015-03-03

最新評(píng)論