사용자 체크 박스를 기반으로 필터링하려는 자바 스크립트에 기본 데이터 세트가 저장되어 있습니다. jQuery의 filter() 함수를 사용하여 여러 기준에서 결과를 필터링 할 수 있다는 것을 알고 있지만 실행중인 문제는 사용자 입력에 따라 기준이 변경된다는 것입니다.jQuery의 filter() 함수를 사용하여 다른 기준으로 배열 추출하기
var myArray = [["Adelaide", 2, "yes", "female"],
["Ada", 2, "yes", "female"],
["Amanda", 1, "yes", "female"],
["Wolf", 3, "no", "male"],
["Rhonda", 1, "no", "female"]];
HTML :
<input id="rate-3" name="rating" type="checkbox" value="rate-3" />3 Stars<br />
<input id="rate-2" name="rating" type="checkbox" value="rate-2" />2 Stars<br />
<input id="rate-1" name="rating" type="checkbox" value="rate-1" />1 Star<br />
<a href="#" id="submitform">Submit Filters</a>
가 어떻게이 .filter (기능)에 여러 기준을 통과 할 것인가? 예를 들어, 누군가가 속도 1과 3의 체크 박스를 선택할 수 있습니다.이 체크 박스는 현재 내가 찾은 함수를 코딩 한 코드입니다. 그러나 사용자가 입력 한 내용에 따라 유연하게 사용하기를 원합니다.
나는 여러 개의 if/else 문을 작성할 수 있다고 생각하지만이 방법을 사용하는 것이 더 우아한 방법일까요?
JQuery와 :
$("#submitform").click(function() {
var userSelectedFilters = new Object();
userSelectedFilters.rate3 = $("#rate-3").is(':checked');
userSelectedFilters.rate2 = $("#rate-2").is(':checked');
userSelectedFilters.rate1 = $("#rate-1").is(':checked');
var filteredArray = myArray.filter(
function(el) {
// currently hardcoded
return ((el[1] == 1) || (el[1] == 3));
}
);
});
'필터()'대신 선택기의에서 함수를 통과 할 수 있습니다. http://api.jquery.com/filter/ – Blazemonger
맞습니다. 기술적으로는 기능으로 사용하고 있지만이 시점에서는 매우 기본입니다. – firedrawndagger