私は数時間この単純なスクリプトに取り組んできました。 JSON値で構成される配列があります。ユーザーが文字列を検索してボタンをクリックすると、スクリプトは文字列を配列に格納されている値と照合します。配列の文字列の値を見つけよう
私が執着しているセクションは、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