我正在尝试使用laravel构建页面,用户可以从列表中选择可以注册的课程列表中的偏好选项。我定义了一个div标签,其中应包含以下值:
<div class="container" id="selectedCourses"></div>
当前,有一个javascript函数可用于在用户点击后添加和删除课程。
<script type="text/javascript">
// functions for adding selected element to top
function addCourse(subject, courseID) {
// adds selected course to top
var l = document.getElementById('item' + subject + courseID);
if(l.style.backgroundColor === "rgb(255, 255, 255)" || l.style.backgroundColor === "") {
var p = document.getElementById('selectedCourses');
var newCourse = document.createElement('button');
newCourse.setAttribute('class', 'btn btn-outline-primary');
//set id here
newCourse.setAttribute('id', 'selected'+subject+courseID);
newCourse.setAttribute('onclick', 'removeCourse(this.id);');
newCourse.innerHTML = subject + ' : ' + courseID;
p.appendChild(newCourse);
// recolors selected course in list
l.style.backgroundColor = '#3399ff';
return;
}
if(l.style.backgroundColor === "rgb(51, 153, 255)") {
removeCourse('selected'+subject+courseID);
l.style.backgroundColor = '#fff';
}
}
// function for removing select element from top
function removeCourse(elementID) {
var element = document.getElementById(elementID);
var id = element.id.slice(8);
element.parentNode.removeChild(element);
var p = document.getElementById('item' + id);
p.style.backgroundColor = '#fff';
}
</script>
我还定义了一个按钮,我想使用该按钮为用户注册所选课程。
但是,问题是我不明白在添加所有课程后如何获取div标签中的所有课程。我相信我需要在div标记中通过每个ID进行一些php循环,但是我不知道自己要在迭代什么或如何引用这些值。我需要将其传递到为按钮定义的函数中,以便可以通过控制器更新数据库。有什么建议吗?