前提・実現したいこと
テキストボックス(検索条件)を入力して,検索ボタンをクリックした際に,部分一致したものを全て表示したいと考えています。
現状データとしてA1,A12,A123,A1234,A123B,A123BCのようなものがあるとして,テキストボックスにAを入力した際にAを含むものすべてを取り出したいのですが,なぜかAだけが,データの個数分取り出されてしまいます。
data詳細は表に出すのは難しいため概要だけとなりますが,本質的に重要なのは,通し番号(A1,A12,A123,A1234,A123B,A123BC)で,1つの番号には60~70の情報があります。
JavaScript
1"use strict"; 2 let mainData = new Array(); 3 let csv = ""; 4 5 $(function() {//page load 6 $.get("data.csv", function(data) { 7 csv = $.csv.toArrays(data); 8 for(let i = 0; i < csv.length; i++){ 9 mainData.push(csv[i]); 10 } 11 $(".searchCondition").show(); 12 btnbody.append("<input type = 'button' id = 'btn' onclick = 'searchbtn()' value ='検索'>"); 13 }); 14 }); 15 16 function searchbtn(ary2) {//検索btn click process 17 $("#btn").prop("disabled", true); 18 let num = $("#num").val();//text id get process 19 let targetData = new Array(); 20 21 for(let i = 0; i < 30; i++){//mainData[i][0]が通し番号 22 if(num !== "" && mainData[i][0].indexOf(num) > -1){ 23 csvbody1.append("<tr><td><a href='#' onclick='linkClick(\"" + mainData[i][0] + "\")'>" + mainData[i][0].match(num) + "</a></td></tr>"); 24 }
回答2件
あなたの回答
tips
プレビュー