【发布时间】:2020-05-27 14:11:08
【问题描述】:
我正在制作一个题库来存储问题。每个问题都有一些选项,有些选项有正确和错误的选项。
但问题是我制作的选项文本工作正常,但我通过单选按钮制作的选项状态(正确/错误)无法正常工作。当我再添加一个选项时,单选按钮无法正常工作。
我没有找到我做错的地方。基本上我将两者都作为数组类型,所以我循环它并获取所有值。
我的代码sn-p
removeThis();
$('#addMoreButton').on('click',function() {
$('#addMoreHere').append('<div class="col-12 m-4 removeThis"><div class="form-group row text-left"><div class="form-group col-md-6"> <label for="questionOptionText">Option Text <span class="text-danger">*</span></label> <div class="input-group"><input type="text" class="form-control" id="questionOptionText" name="questionOptionText[]" required placeholder="Enter Option Text ex: xyz"></div> <span id="questionOptionText_error" class="removemsg text-danger"></span> </div> <div class="form-group col-md-4"> <label for="questionOptionStatus">Option Status <span class="text-danger">*</span></label><div class="input-group"> <!-- 1 = Correct --> <div class="custom-control custom-radio"> <input type="radio" class="custom-control-input" id="questionOptionShow" name="questionOptionStatus[]" required value="1"> <label class="custom-control-label" for="questionOptionShow">Correct</label> </div> <!-- 0 = Wrong --> <div class="custom-control custom-radio"><input type="radio" class="custom-control-input" id="questionOptionHide" name="questionOptionStatus" required value="0" checked> <label class="custom-control-label" for="questionOptionHide">Wrong</label> </div> </div> <span id="questionOptionStatus_error" class="removemsg text-danger"></span> </div> <div class="col-md-2 add_col" style="margin-top: 35px;"><button type="button" data-toggle="tooltip" title="Remove This" class="btn btn-danger removeDiv" id="removeMoreButton"><b>-</b></button></div></div></div>');
removeThis();
});
function removeThis() {
$('.removeDiv').on('click',function() {
$(this).parents('div.removeThis').remove();
});
}
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="row">
<div class="col-12 m-4">
<div class="form-group row text-left">
<div class="form-group col-md-6">
<label for="questionOptionText">Option Text <span class="text-danger">*</span></label>
<div class="input-group">
<input type="text" class="form-control" id="questionOptionText" name="questionOptionText[]" required placeholder="Enter Option Text ex: xyz">
</div>
<span id="questionOptionText_error" class="removemsg text-danger"></span>
</div>
<div class="form-group col-md-4">
<label for="questionOptionStatus">Option Status <span class="text-danger">*</span></label>
<div class="input-group">
<!-- 1 = Correct -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="questionOptionShow" name="questionOptionStatus[]" required value="1">
<label class="custom-control-label" for="questionOptionShow">Correct</label>
</div>
<!-- 0 = Wrong -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="questionOptionHide" name="questionOptionStatus[]" required value="0" checked>
<label class="custom-control-label" for="questionOptionHide">Wrong</label>
</div>
</div>
</div>
<div class="col-md-2 add_col" style="margin-top: 35px;">
<button type="button" title="Add More" class="btn btn-primary" id="addMoreButton"><b>+</b></button>
</div>
</div>
</div>
<div class="clearfix"></div>
<div id="addMoreHere"></div>
</div>
【问题讨论】:
-
每次点击“添加更多”按钮,您都在添加您之前已经使用过的 ID 为 questionOptionText、questionOptionShow 等的元素。但是 id 必须是唯一的。您可以改为将 id 更改为类名。
标签: javascript jquery arrays radio-button