當單擊HTML複選框時,我正在過濾JSON數組中的對象列表。我知道JavaScript array.sort()方法,但是如何根據複選框點擊消除項目?我需要一個事件監聽器嗎?JavaScript過濾器使用HTML表單的JSON對象
我的JSON看起來像這樣:
{ "lots" : [
{
"name" : "Parking Lot Name",
"price" : 2,
"cash" : true,
"credit" : false,
"address" : "1234 W Main Ave",
"center" : {
"lat" : 67.659414,
"lng" : -137.414730
}... etc.
所以,如果我已經得到了包括消除基於支付類型停車場複選框一種形式,我應該如何去實現呢?我讀過關於jQuery array.grep()函數,是嗎?
我的頁面正在使用JS循環像這樣建:
makeList(){
var self = this;
self.jsonFile = $.ajax({
type: 'GET',
url: 'assets/data/default.json',
dataType: 'json',
success: function(response) {
console.log(response);
}
});
self.jsonFile.done(function(data){
//Sort low to high by default
data.lots.sort(function(a, b){
return(a.price > b.price)
});
for (var i = 0; i < data.lots.length; i++) {
document.getElementById('jsonList').innerHTML +=
'<li>
<div id="text">
<p class="price">
$' + data.lots[i].price + '.00
</p>
<p class="info">' +
data.lots[i].address +
'</p>
</div>
<form method="get">
<button type="submit" formaction="https://www.google.com/maps/dir/Current+Location/' +
data.lots[i].address +
'">Directions
</button>
<button type="submit" formaction="detail-view.html">Details
</button>
</form>
</li>';
}
});
}
1. JSON是經由串序列化對象的方法。你沒有JSON,你有一個對象。 2.你的問題是什麼?你的輸入是什麼,你需要的輸出是什麼,以及觸發處理的是什麼? – Amit
您的代碼中似乎有很多語法錯誤。字符串不能像OP中那樣分行多行。你是否試圖從* lot *數組中獲得具有「現金」或「信用」的對象爲真?似乎我*減少*或*過濾器*將完成這項工作。 – RobG