表題の通りなのですが、javascriptなどで実現可能でしょうか?
http://g5187066.k-free.net/
【ソース】
<body>
<div>
<input type="text">
<input type="submit" value="検索">
</div>
<ul>
<li>あいうえお</li>
<li>かきくけこ</li>
<li>さしすせそ</li>
<li>たちつていうえと</li>
<li>なにぬねの</li>
</ul>
</body>
上記のようなhtmlページがあり、例えば
「いうえ」とフォームから検索したら1番目の<li>要素と4番目の<li>要素が表示され、そのほかの<li>要素は hidden になるようなイメージです。
ヒットする文字列を含む<li>要素以外にjavascriptでクラスを付与させ、そのクラスのスタイルに display:none; などのスタイルを当てることで実現できそうな気はするのですが、どう書けばよいのか全然わからず、もしもご存知の方がいらっしゃいましたらご教授いただければ非常に助かります…
もしくは上記のようなことが実現できるjqueryのプラグインなどが存在するのであればこちらもご教授いただければ非常に助かります…
結構探したのですが見つかりませんでした。。(>_<)
No.1
- 回答日時:
なんの工夫もなくいわれた通り書くとこんな感じ?
<style>
li.hide{display:none;}
</style>
<script>
function searchword(obj){
var v=obj.form.elements["keyword"].value;
var n1=document.getElementById("wordlist");
var n2=n1.getElementsByTagName("li");
for(var i=0;i<n2.length;i++){
var reg=new RegExp("(^| )hide( |$)");
var cn=n2[i].className;
cn=cn.replace(reg,"");
if(!n2[i].innerHTML.match(v)){
n2[i].className=(cn+" hide").trim();
}else{
n2[i].className=cn;
}
}
}
</script>
<form>
<input type="text" name="keyword" value="いうえ">
<input type="button" value="検索" onclick="searchword(this)">
</form>
<ul id="wordlist">
<li>あいうえお</li>
<li>かきくけこ</li>
<li>さしすせそ</li>
<li>たちつていうえと</li>
<li>なにぬねの</li>
</ul>
うわぁ~(>o<;;)
すごいですね…
サラサラーと…(;´Д`)
ありがとうございます!
これで全然問題ないのですがキーワード入れてエンターでは動かないものなんですか?
No.2ベストアンサー
- 回答日時:
エンターはsubmitですからねぇ・・・
trimなど一部仕様外を含めバグっていたのをなおして
こんな感じでどうでしょうか?
<style>
li.hide{display:none;}
</style>
<script>
try{
document.addEventListener('keypress',function(e){pressfunc(e)},true);
}catch(e){
document.attachEvent('onkeypress',function(e){pressfunc(e)});
}
function pressfunc(e){
var t = (e.srcElement || e.target);
if(e.keyCode==13 && t.name=="keyword"){
searchword();
if(e.preventDefault){
e.preventDefault();
}else{
e.returnValue=false;
}
}
}
function searchword(){
var v=document.getElementById("keyword").value;
var n1=document.getElementById("wordlist");
var n2=n1.getElementsByTagName("li");
for(var i=0;i<n2.length;i++){
var cn=n2[i].className;
cn=cn.replace(/(^|\s)hide(\s|$)/,"");
if(! n2[i].innerHTML.match(new RegExp(v))){
n2[i].className=(cn+(cn==""?"":" ")+"hide");
}else{
n2[i].className=cn;
}
}
}
</script>
<form>
<input type="text" name="keyword" id="keyword" value="いうえ">
<input type="button" value="検索" onclick="searchword()">
</form>
<ul id="wordlist">
<li>あいうえお</li>
<li>かきくけこ</li>
<li>さしすせそ</li>
<li>たちつていうえと</li>
<li>なにぬねの</li>
</ul>
もう何というか、完璧にこれです…。
なんかもう本当に( ゚Д゚)←です…。
これだけスラスラとjavascriptなどを取りまわせる神様になりたいです…。
本当にありがとうございました(;´Д`)!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- HTML・CSS リストの並べ替え 1 2022/09/13 15:27
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォントサイズの変更
-
戻ってきた時ツリーメニューが...
-
多階層ドロップダウンのスマホ...
-
pythonのDjangoでHTML内で変数...
-
jqueryのsortableで一部ソート...
-
文字と数字が混在する要素のsor...
-
jqueryアコーディオンのマウス...
-
jQueryセレクタ/複数要素の指...
-
プルダウンメニュー連動後の処...
-
ツリーメニューについて
-
jqueryプルダウンメニュー個別着色
-
javascript テキストエリアを1...
-
MAX関数を使ってからLEFT JOIN...
-
c++std::string型をTCHARに変換...
-
htmlの記述で link rel=styles...
-
JQueryで画像の上で文字を動かす
-
ロールオーバー効果にならない。
-
jspでcssが読み込めない
-
スライダーを実装した場合、ペ...
-
離れた場所にマウスオーバーで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのsortableで一部ソート...
-
javascriptでEnterキーをtabキ...
-
クリックした<a>タグのみにClas...
-
チェックボックスに入っている...
-
【javascript で動的に a タグ...
-
jquery ドロップダウンメニュー...
-
「jQuery」アコーディオンメニ...
-
jQueryで、リンクURLの一致を確...
-
jQueryのeqで最後からn番目以降...
-
ネストされたチェックボックス...
-
javascriptで、クリックしたら...
-
onmouseoverの表示切り替えが上...
-
文字と数字が混在する要素のsor...
-
jQueryでネスト構造の<li>がク...
-
タブメニューを上下に設置
-
<li></li>の数を制限
-
jQuery多層式アコーディオンメ...
-
どの<li><a> が押されたか判別...
-
CSSとJavaScriptを使ってドロッ...
-
複数の画像をランダム(シャッ...
おすすめ情報
うわぁ~(>o<;;)
すごいですね…
サラサラーと…(;´Д`)
ありがとうございます!
これで全然問題ないのですがキーワード入れてエンターでは動かないものなんですか?