저는이 간단한 스크립트를 몇 시간 동안 사용해 왔으며 벽에 부딪혔습니다. JSON 값으로 구성된 Array가 있습니다. 사용자가 문자열을 검색하고 버튼을 클릭하면 스크립트는 배열에 저장된 값과 문자열을 비교합니다.배열의 문자열 값 찾기
내가 붙어있는 부분은 조건부입니다. JSON 파일에있는 문자열을 입력하더라도 항상 일치하는 부분이 없습니다.
아래 코드. 모든 지침/포인터 크게 감사하겠습니다.
도움 주셔서 감사합니다.
마크.
$('#validate-info').on('click', function(){
// Get data, initiate callback
$.getJSON('memberships.json', validateMembership);
// Execute callback function
function validateMembership(data) {
// Capture entered value
var userVal = document.getElementById('form-data').value;
console.log(userVal);
var infoTxt = '';
// Push all items into an Array
var infoArray = [];
$.each(data, function(member, memberInfo) {
infoTxt += '<p><strong>Name:</strong> ' + memberInfo.name + '<br />';
infoTxt += '<strong>Membership No.:</strong> ' + memberInfo.number + '<br />';
infoTxt += '<strong>Expiry Date:</strong> ' + memberInfo.expiry + '</p>';
infoArray.push({
name: memberInfo.name,
number: memberInfo.number,
expiry: memberInfo.expiry
});
});
if ($.inArray(userVal, infoArray) > -1) {
// the value is in the array
$('#response').html('<p style="color: green;">In the array</p>');
} else {
$('#response').html('<p style="color: red;">Sorry, no matches.</p>');
}
}
});
개체 배열에서 일치하는 문자열을 찾으려고합니다. 'name' 속성에서'userVal'과 일치 시키려고합니까? –
'each' 루프를 체크하고 플래그 변수를 true로 설정하면 일치가 존재합니다. – charlietfl