前提・実現したいこと
現在わけがあり、jqueryの1.3.2verでの
作成を行っているのですが、
以下のようなエラーが出ております。
発生している問題・エラーメッセージ
Uncaught TypeError: Cannot read property 'indexOf' of undefined
こちら、最新バージョンであれば、
エラーが出ることはないことはわかっているのですが、
どうしてもこちらのバージョンで実装したいと思っております。
該当のソースコード
html
1<div class="serchBox"> 2 <select name="region"> 3 <option value="">地域を選択</option> 4 <option value="all">ALL</option> 5 <option value="matudo">松戸のみ</option> 6 <option value="matudo">松戸・ALL</option> 7 <option value="chiba">千葉市</option> 8 <option value="katuura">勝浦市</option> 9 <option value="abiko">我孫子市</option> 10 <option value="okashiwa">柏市</option> 11 </select> 12 <button type="button" id="search">検索</button> 13 <button type="button" id="reset">リセット</button> 14</div> 15<p>該当件数は<span class="number"></span>件です。</p> 16<div class="list" data-tiiki='["matudo"]'>松戸市</div> 17
js
1$(function() { 2 var lists = $('.list'); 3 $(document).ready( function(){ 4filter_list(); 5}); 6 $('#search').click(function(){ 7 filter_list(); 8 }); 9 10 // リセットボタンをクリックしたときの処理 11 $('#reset').click(function(){ 12 // フォームのselectとcheckboxをリセット 13 $('.serchBox select').val(''); 14 // リストの絞り込みをリセット 15 filter_list(); 16 }); 17 function filter_list() { 18 lists.show(); 19 for (var i = 0; i < $('.serchBox select').length; i++) { 20 // 絞り込みの項目を取得 21 var item = $('.serchBox select').eq(i).attr('name'); 22 // 絞り込みの対象を取得 23 var target = $('.serchBox select').eq(i).val(); 24 25 if(target != '') { 26 for (var j = 0; j < lists.length; j++) { 27 // 絞り込み対象でない場合は非表示 28 if(lists.eq(j).data('tiiki').indexOf(target) === -1) { 29 lists.eq(j).hide(); 30 } 31 }; 32 } 33 }; 34 35$(function(){ 36 var len=$('.list').filter(':visible').length; 37 console.log(len); 38 $("span.number").text(len); 39}); 40 41 } 42 }); 43
試したこと
indexOfをttestメソッドに変えてみましたが、
結果は同じようなものになりました。
また、エラーの理解度としては、
「オブジェクトの存在しないプロパティの何かにアクセスしている」
くらいですが、認識としてはあっているでしょうか?
何卒宜しくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/03 08:43
2019/06/03 08:44