javascript - 搜索/过滤 json 函数需要编辑

标签 javascript jquery html json

我有一个 get json 函数,可以在面板等中显示我的图像:

$.getJSON('iproducts.json',function(products){

var output = "";
$.each(products.appleitems, function(i, product) { 

    output += 
        "<div class=\"col-xs-12 col-sm-6 col-md-3\"><div class='panel panel-default'><div class='panel-footer'><h4 class='text-center'>"  
        + products.appleitems[i].Product_id 
        + "</h4></div>" + "<img src ='" + products.appleitems[i].Imgpath + "'  style='width:100%;height:250px; display: block;' id='appleinfo_" 
        + products.appleitems[i].Product_id + 
        "' /><p class='lead text-justify'>" + products.appleitems[i].Information
        + "</p><div class='panel-footer'><button class='btn btn-primary btn-block'>&pound;" + products.appleitems[i].Price+"</button></div></div></div>";
    });

$("#container").html(output);
});

它还包括一个搜索/过滤文本框和按钮,使这些项目出现在我的代码中。我修改了代码,现在搜索功能不再起作用我已经尝试了所有方法。这是实际的搜索框:

<div class="container search-container">
<form class="form-search form-inline"> 
    <input type="text" class="input-medium search-query" placeholder="Search"> <button type="submit" class="btn">Search</button> 
</form>

以及我用来过滤这些的脚本:

$('.form-search').on('submit',function(){return false;}); 
$('.form-search .btn').on('click', function(e){ 
var query = $.trim($(this).prevAll('.search-query').val()).toLowerCase(); 
regex = new RegExp(query, "i");
$.getJSON('iproducts.json', function (products) {
    var output;
    $.each(products.appleitems, function (i, product) {

        if (product.Product_id.search(regex) != -1) {
            output+= "<div class=\"col-xs-12 col-sm-6 col-md-3\"><div class='panel panel-default'><div class='panel-footer'><h4 class='text-center'>"  
        + products.appleitems[i].Product_id 
        + "</h4></div>" + "<img src ='" + products.appleitems[i].Imgpath + "'  style='width:100%;height:250px; display: block;' id='appleinfo_" 
        + products.appleitems[i].Product_id + 
        "' /><p class='lead text-justify'>" + products.appleitems[i].Information
        + "</p><div class='panel-footer'><button class='btn btn-primary btn-block'>&pound;" + products.appleitems[i].Price+"</button></div></div></div>";
        }
            $('#placeholder').html(output);

            console.log(products.appleitems[i]);
        }
    )
});
});

最佳答案

尝试将搜索脚本上的#placeholder更改为#container:

$('#placeholder').html(输出);

更改为:

$('#container').html(输出);

希望这有帮助

关于javascript - 搜索/过滤 json 函数需要编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34224765/

相关文章:

jquery - 如何在到达某个部分或 div 之前滚动带有固定导航栏的网页?

java - 使用 Jsoup 1.11 解析 XHTML

html - 简单的 css 悬停问题

jquery - 砌体浮筒 :left & max-width

javascript - getElementsByTagName 对于 IE 和 Firefox 给出了相同的结果

javascript - 使用 Enter 提交表单而不触发页面刷新

javascript - 将组件链接到单独的元素,并相对于该元素显示它

javascript - Bootstrap : show/hide column divs with checkbox and change column span

javascript - Express 不加载 javascript 到客户端

javascript - 检索 JSON 数据未按预期工作