ここで、配列、.each、およびその他のソリューションに関する複数の記事を読みましたが、これらのいずれも、私がやろうとしていることの問題を示していません。
ボタンがクリックされた場所に移動したいのですが、そのボタンの値が保存され、配列内のオブジェクトの値と比較されます。一致が見つかった場合、その一致をページの一部に .append する必要があります。
ボタンのクリックが登録されていることはわかっています。私はそれをページに追加し、適切な値を表示しました。.each を使用して配列内のすべてのオブジェクトを反復処理し、.append をページに追加できることもわかっています。ただし、以下の例の従業員を単に .append すると、[object Object] が得られるため、比較演算子が正しく機能していないことがわかります。私の問題を見せてくれたり、なぜそれがうまくいかないのかを説明してくれたら、どんな助けでも大歓迎です.
ボタンは次のとおりです。
<button type="button" id="german" class="searchButton" value="German">German</button>
これは私の配列がどのように見えるかです
employees = [
{ "firstName":"Alex", "lastName":"Hagerman", "language":"German", "department":"Nuerology", "position":"Nurse", "skill":"Infection" },
]
他にも行がありますが、これは例では機能します。
これは、ボタンの値と配列の値を比較したい関数です。(ここで従業員を単に .append すると、[object Object] が得られます)
$(document).ready(function(){
$('button').click(function(){
var buttonValue = $(this).val();
$.each(employees, function (i, employee) {
if (employee == buttonValue) {
$('#resultsView').append('<div class="searchResults">'+employee.firstName+employee.lastName+'<br />'+employee.language+'<br />'+employee.department+employee.position+'<br />'+employee.skill+'</div>');
}
else {
$('#resultsView').append('<div id="resultsView" class="noResult">No results found</div>');
}
});
});
});
現在、結果が見つかりませんでした。