javascript - 复选框不存储值
问题描述
我正在尝试创建一个动态问题列表及其动态选项。对于每个选项,我使用复选框维护一个标志。如果单击复选框,则该AnalysisFlag
值应该是true
,如果不是,则应该是false
。但是,使用下面提到的方法,false
无论我是否单击复选框,我总是会得到值。
有人可以看看并建议我如何保持AnalysisFlag
价值及其同等选择吗?
function GetDynamicTextBox(value) {
var textBox = $("<input />").attr("type", "textbox").attr("name", "DynamicTextBox").attr("class", "form-control").attr("placeholder","Your Answer");
textBox.val(value);
debugger;
**var allVals = [];
$('[name="DynamicAnalysisFlag"]:checked').each(function () {
allVals.push($(this).val());
});**
return textBox, allVals;
}
var j = 66;
var x = 2;
var option = 'option' + x;
function AddTextBox() {
for (var i = j; i <= j; i++) {
$('#TextBoxContainer' + x).after("<br id='Removebr" + (x + 1) + "'><div class='input-group' id='TextBoxContainer" + (x + 1) + "'><div class= 'input-group-prepend'><div class='input-group-text'> " + String.fromCharCode(i) + " **<input type='checkbox' id='DynamicAnalysisFlag' value= 'true' name='DynamicAnalysisFlag' class='checklistitem''></div>**</div><input autocomplete='off' class='form-control test-option test-option" + x + " text-box single-line' data-val='true' data-val-required='Answer is required' id=" + option + " name='DynamicTextBox' placeholder='Your Answer' type='text' value=''><span class='field-validation-valid text-danger' data-valmsg-for='AnalysisFlag' data-valmsg-replace='true'></span></div>");
}
j++;
x++;
}
function RemoveTextBox() {
if (x != 2) {
$('#TextBoxContainer' + x).remove();
$('#Removebr' + x).remove();
--x;
--j;
}
}
$('#btnNext').on('click', function() {
var radioValue1 = $("input[name='AnalysisFlag']:checked").val();
var txtVal = $('.test-option' + radioValue1).val();
$('#hiddenRadioValue').val(txtVal);
});
$(function() {
var values = eval('@Html.Raw(ViewBag.Values)');
if (values != null) {
$("#TextBoxContainer").html("");
$(values).each(function() {
$("#TextBoxContainer").append(GetDynamicTextBox(this));
});
}
});
<div id="radio" class="col-xs-12">
<br id="Removebr2">
<div class="input-group" id="TextBoxContainer2">
<div class="input-group-prepend">
<div class="input-group-text">
A
<input type="checkbox" id="radio1" value="1" name="AnalysisFlag" onselect="alert('clicke')">
</div>
</div>
<input autocomplete="off" class="form-control test-option test-option1 text-box single-line" data-val="true" data-val-required="Option is required" id="opt1" name="opt1" placeholder="Your Answer" type="text" value="">
<span class="field-validation-valid text-danger" data-valmsg-for="opt1" data-valmsg-replace="true"></span>
<input data-val="true" data-val-required="The AnalysisFlag field is required." id="hiddenRadioValue" name="AnalysisFlag" type="hidden" value="">
<br>
</div>
</div>
<div class="card-footer">
<input type="submit" id="btnNext" value="Next »" class="btn btn-primary vigor-btn">
</div>
<button type="button" id="btnRemove" class="btn btn-primary vigor-btn" onclick="RemoveTextBox()">Remove Options</button>
<button type="button" id="btnAdd" class="btn btn-primary vigor-btn" onclick="AddTextBox()">Add Options</button>
我已经编辑了GetDynamicTextBox()
函数,我在其中获取了在AddTextBox()
函数中添加另一个文本框时添加的 DynamicAnalysisFlag 值。但现在的问题是,如果我勾选复选框,我将获得真正的价值,但如果我不勾选复选框,我将一无所获。那么,我应该在这段代码中做些什么改变,所以如果我检查代码,我会得到 true,如果不是,那么我会得到 false。
解决方案
推荐阅读
- deep-learning - 我可以使用 pytorch 二进制分类器计算特定输出值的损失吗
- c++ - 模板类中 > 标记之前的预期表达式
- reactjs - 使用带有 axios 的 Hooks 在 React 中获取数据
- swift - 如何添加标签和后退按钮以快速点击手势视图控制器
- android - 如何理解 logcat 错误 java.lang.RuntimeException: Canvas: 试图绘制太大的位图 (109320552bytes)
- javascript - 如何在html中更改表格单元格的颜色
- python - 是否可以在子类模型中使用 Tensorflow Keras 功能 API?
- typescript - 使用枚举和泛型在 typescript 中获取星期几
- python - 如何获取主机名或基本 URL
- python - 网页抓取:错误“NoneType”对象没有属性“文本”