私は、アイテムのリストで.each()を実行していて、それらのアイテムを自分のHTMLに分類しています。それ以降の関数では、チェックされているアイテム(チェックボックス)をチェックしています。私の関数(prepareTrainings();)では、どのボックスがチェックされているかを調べるために、.each()の結果からデータを表示する必要があります。基本的に、ユーザーがXチェックボックスをチェックした場合、その項目のコース名とURLを表示してください....each()内で一意のオブジェクトを動的に作成するにはどうすればよいですか?
私の質問:ベストプラクティスは何か分かりません。 if(trainingGroupなど)文の中にこれらの値を格納するオブジェクトを作成する必要がありますか?グローバルvar
であなたの処理されたオブジェクトを維持
$.ajax({
url: "mySite",
type: "GET",
headers: { "ACCEPT": "application/json;odata=verbose" },
success: function(data){
$.each(data.d.results, function(index) {
var $this = $(this);
var courseName = $this.attr('Title');
var courseNumber = $this.attr('Course_x0020_Number');
var courseUrl = $this.attr('URL');
var trainingGroup = $this.attr('Training_x0020_Group');
var recurrence = $this.attr('Recurrence');
var dynCourseId = courseName.replace(/\s+/g, '')
if (trainingGroup == 'Group1') {
if (recurrence == "Don't Specify") {recurrence = '';
} else recurrence = " ("+recurrence+")";
document.getElementById('officeListSpan').innerHTML += '<ul class="courseLists"><li><input type="checkbox" id="'+dynCourseId+'"/>'+courseName+recurrence+'</li></ul>';
}
if (trainingGroup == 'Group2') {
if (recurrence == "Don't Specify") {recurrence = '';
} else recurrence = " ("+recurrence+")";
document.getElementById('labListSpan').innerHTML += '<ul class="courseLists"><li><input type="checkbox" id="'+dynCourseId+'"/>'+courseName+recurrence+'</li></ul>';
}
});
},
error: function(){
alert("Failed to query SharePoint list data. Please refresh (F5).");
}
});
function prepareTrainings() {
var idSelector = function() {
return this.id;
};
var checkedCourses = $(":checkbox:checked").map(idSelector).get();
alert("IDs for Courses Selected: " + checkedCourses);
}
それは機能しました!私は今朝あなたの反応を非常にはっきりと読んではいけません。しかし、これは動作します。ありがとう、トン! – Ryan
問題はありません:)これは他者の正解としてください。 –
私はまだstackoverflowのその部分に新しいです。どうすればいいのですか?私はあなたに "upvote"する方法を探していました。もう一度お礼してください、あなたは本当に助けて! – Ryan