手动录入试题
录入信息的方式有两种:单条信息录入,批量导入信息。根据实际情况,当你需要录入的信息比较少时,就建议选择手动录入,因为这种方式录入的信息更加详细和规范。为了达到效果,实现的功能自然就比较复杂,其中包括:下拉框的数据绑定、题目类型的切换、上传文件、添加选项和删除选项。
具体的代码如下:
var layer;
$(function () {
//下拉框数据绑定
//科目类型
createSelect("Subject", "selectSubject");
//科目类型的改变触发知识点下拉框数据的绑定
$("#Subject").change(function () {
var subjectId = $("#Subject").val();
createSelect("Point", "selectPoint?SubjectID="+subjectId);
});
//难度系数
createSelect("Dofd", "selectDofd");
//题目类型
createSelect("TitleType", "selectTitleType");
//使用单位
createSelect("Unit", "selectUnit");
//加载layui模块
layui.use(['layer'], function () {
layer = layui.layer;
});
});
//题目类型的切换改变选项的内容
$("#TitleType").change(function () {
//获取题目类型ID
var TitleTypeID = this.value;
//console.log(TitleTypeID);
//获取选项
var options = $("#addOptions").find(".form-row");
//console.log(options);
//获取选项内容
var inputs = $("#addOptions").find(".form-row").find("input");
//判断题选项区别于选择题,需要分别处理
//当题目ID为3时,为选择题
if (TitleTypeID == 3) {
//若当前题型为判断题,则选项是能有2个,多余的选项需要删除,剩余的2个选项设置为“只读”的模式
if (options.length > 2) {
//移除多余的选项
for (var i = 2; i < options.length; i++) {
$(options[i]).remove();
}
}
//为选项赋值
inputs[0].value = "√";
inputs[1].value = "×";
//input标签设置为"只读"
inputs[0].readOnly = true;
inputs[1].readOnly = true;
}
//选择题
else {
if(inputs[0].value=="√"||inputs[1].value == "×"){
inputs[0].value = "";
inputs[1].value = "";
}
inputs[0].readOnly = false;
inputs[1].readOnly = false;
}
});
//答案选项编号数组
var ArrLetter = new Array("A", "B", "C", "D", "E", "F");
//添加选项
function addAnswer()
{
//题目选项由题目类型决定,因此在处理答案之前需要先判断当前所选题型
var TitleTypeID = $("#TitleType").val();
if (TitleTypeID == undefined || TitleTypeID == "") {
TitleTypeID = 0;
}
//判断用户是否选择了题型
if (TitleTypeID != 0) {
//判断当前是否为选择题
if (TitleTypeID != 3) {
//获取选项
var options = $("#addOptions").find(".form-row");
//选项最多为6个
if (options.length < 6) {
//添加选项
var strOption = '<div class="form-row">'
+'<label class="col-sm-1 col-form-label text-right">'+ArrLetter[options.length]+'</label>'
+'<div class="col-sm-11">'
+'<input type="text" class="form-control form-control-sm" />'
+'</div>'
+'</div>';
//console.log(strOption);
$("#addOptions").append(strOption);
}
else {
layer.alert("当前选项个数已达上限,不能再进行选项的添加!", {icon:0,title:"提示"});
}
}
else {
layer.alert("当前题型为判断题,不能添加选项!", { icon: 0, title: "提示" });
}
}
else {
layer.alert("请选择题目类型!", {icon:0,title:"提示"});
}
}
//删除选项
function delAnswer()
{
//获取选项
var options = $("#addOptions").find(".form-row");
//判断当前选项个数,选项个数不能小于2
if (options.length > 2) {
//删除选项,从最后一个开始删除
options.last().remove();
}
else {
layer.msg("A、B项不能删除!", { icon: 0, skin: "layui-layer-lan" });
}
}
效果如下: