の間にパラメータを渡してオブジェクトをフィルタリングしようとしているときに、イベントの結果として空の配列を取得しています。onchangeイベント中のアンダースコア動的フィルタ
キーと値のハードコーディング、それらをしようとしたとき、それはこの場合、それは常に値
var empDetails = [{
name: "Raju",
id: 123
},
{
name: "Ram",
id: 456
}, {
name: "Anand",
id: 789
}, {
name: "Venkat",
id: 987
}
];
function onFilter(columnName) {
var columnValue = document.getElementById(columnName).value;
empDetails = _.filter(empDetails, {
"name": "Ram"
});
console.log(empDetails);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
<input class="form-control input-sm" id="name" type="text" onchange="onFilter('name')">
しかし、この次のケースでは、空の配列を返す。
var empDetails = [{
name: "Raju",
id: 123
},
{
name: "Ram",
id: 456
}, {
name: "Anand",
id: 789
}, {
name: "Venkat",
id: 987
}
];
function onFilter(columnName) {
console.log(columnName);
var columnValue = document.getElementById(columnName).value;
console.log(columnValue);
empDetails = _.filter(empDetails, {
columnName: columnValue
});
console.log(empDetails);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
<input class="form-control input-sm" id="name" type="text" onchange="onFilter('name')">
正確にフィルタリングしようとするフィルタとは何ですか?filterの2番目の引数は 'boolean'を返す関数でなければなりません – Acidic