我有一個JSON文件,我使用jQuery。使用HTML輸入輸入搜索JSON對象
我想知道如何搜索項目,只獲取與HTML輸入相關的項目。
這是我的嘗試:
function Search(form) {
$(".products").empty();
$.getJSON('products.json', function(data) {
$(data.Products).each(function(index, item) {
if(form == item.Name) {
var input = document.getElementById('searchForm');
$('<div/>', {'class':'productname'}).text(item.Name).append(
$('<div/>', {'class':'productdetails', text:'Album: '+item.Album}),
$('<div/>', {'class':'productdetails'}).append($('<img>').attr({src:item.Source,title:item.Name,alt:item.Name,class:'productimage'})),
$('<div/>', {'class':'productdetails', text:'Genre: '+item.Genre}),
$('<div/>', {'class':'productdetails', text:'Price: '+item.Price}),
$('<div/>', {'class':'productdetails', text:'Quantity: '+item.Quantity}),
$('<div/>', {'class':'productdetails', text:'Tracks: '+item.Tracks}),
$('<div/>').append(
$('<button />', {'class':'productbutton'})
.text('Add To Cart.')
.click(function(){
$.fn.SaveToCart(i,item.Name, item.Album, item.Price);
})
)
).appendTo(".products");
} else if (form == item.Album) {
var input = document.getElementById('searchForm');
$('<div/>', {'class':'productname'}).text(item.Name).append(
$('<div/>', {'class':'productdetails', text:'Album: '+item.Album}),
$('<div/>', {'class':'productdetails'}).append($('<img>').attr({src:item.Source,title:item.Name,alt:item.Name,class:'productimage'})),
$('<div/>', {'class':'productdetails', text:'Genre: '+item.Genre}),
$('<div/>', {'class':'productdetails', text:'Price: '+item.Price}),
$('<div/>', {'class':'productdetails', text:'Quantity: '+item.Quantity}),
$('<div/>', {'class':'productdetails', text:'Tracks: '+item.Tracks}),
$('<div/>').append(
$('<button />', {'class':'productbutton'})
.text('Add To Cart.')
.click(function(){
$.fn.SaveToCart(i,item.Name, item.Album, item.Price);
})
)
).appendTo(".products");
}
});
});
};
$(document).ready(function() {
$('#searchForm').submit(function(e) {
e.preventDefault();
Search(this);
});
});
HTML:
<form name="searchForm" id="searchForm" >
<input name="productname" id="productname" type="text">
<input type="submit" value="Search">
</form>
嘗試這個代碼只刷新頁面。
關於如何修復它的任何想法?
你不妨礙默認的表單提交行爲 – 2013-04-25 11:50:26
也許你可以使用這個? http://stackoverflow.com/questions/11727316/whats-the-best-way-to-parse-a-json-string/11728751#11728751 – 2013-04-25 11:53:42
@TimVermaelen嗨,我已經有一個'類別'功能的工作。我需要的是根據搜索框中的用戶輸入來查看JSON數據。 – JustAJDoe 2013-04-25 12:47:31