追加数据无法在json中过滤?

时间:2017-05-15 04:31:49

标签: javascript jquery json

我在使用jqueryjson

过滤数据时遇到问题

如何最好的过滤数据,但我的代码在json中找不到数组?

帮助找到解决了我的问题。感谢

$(document).ready(function(){
  $("#search").keyup(function(){
    $("#result").html('');
    var searchField = $("#search").val();
    var expression = new RegExp(searchField, "i");
    $.getJSON("https://raw.githubusercontent.com/marshallt09/taruhan88/master/kotakabupaten.json", function(result){
      var x = result.listkotakabupaten;
      for(var i = 0; i < x.length; i++){
        if ( x[i].kotakab.search(expression) != 1 && x[i].kotakab.length != -1) {
          $("#result").append("<li>"+x[i].kotakab+"</li>");
        }
      }
    });
  });
});
*{
  margin: 0;
  padding: 0;
}
ul {
  width: 60%;
  height: 100%;
}

li {
  padding: 5px;
  list-style: none;
  border:1px solid;box-sizing: border-box;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<input type="text" name="search" id="search" placeholder="search">
<ul id="result"></ul>

这是我的jsfiddle代码here

1 个答案:

答案 0 :(得分:0)

x[i].kotakab.search(expression) != 1是不正确的。如果未找到,则搜索返回-1。将其更改为:

x[i].kotakab.search(expression) !== -1

https://jsfiddle.net/vgrj1L80/124/