无法通过javascript选中复选框
Unable to check a checkbox via javascript
我在页面上有一个表单,带有一个复选框输入字段。页面上还有一个表,其中有一列具有true/false值。表中的每一行都有一个带有id="selectedReviewTypeYear"
的复选框。还有一个带有id="getDataToEdit"
的按钮。
单击getDataToEdit
按钮时,javascript将检查是否选中任何id="selectedReviewTypeYear"
框。如果选中一个框,则会打开一个div,其中包含基于所选行预填充的表单字段。如果未选中任何框,则div将保持隐藏状态。
我的问题是,当表数据为"true"时,复选框不会被选中
$('#getDataToEdit').on('click', function (){
$('#reviewTypeTable').find('tr').each(function (){
var row = $(this);
if (row.find('input[id="selectedReviewTypeYearID"]').is(':checked')){
var idx = table.row(this).index();
var vReviewName = document.getElementById("editReviewTypeYear-name");
var vAllowMultiple = document.getElementById("allowMultiple");
var vAllowMultipleSpan = document.getElementById("allowMultipleSpan");
vReviewName.innerHTML = table.cell(idx, 2).data();
if (table.cell(idx, 3).data() == "true"){
$("#allowMultiple").prop("checked", true);
vAllowMultipleSpan.innerHTML = table.cell(idx, 3).data();
}
else {
$("#allowMultiple").prop("checked", false);
vAllowMultipleSpan.innerHTML = table.cell(idx, 3).data();
}
showHide.style.visibility = 'visible';
}
})
});
出于测试目的,我在名为allowMultipleSpan
的表单中添加了一个span
元素。这只是为了让我看看javascript是否能够读取表字段中的数据。当我选择一行,然后单击按钮时,div会打开,vReviewName.innerHTML
和allowMultipleSpan
都正确填充。但是,如果数据为"true",则不会选中复选框。
我正在运行JQuery 2.1.1。到目前为止,我已经尝试使用以下脚本变体,结果都是一样的:
来自JQuery(1.6+)规范:
$("#allowMultiple").prop("checked", true);
来自jQuery(1.5-)规范:
$("#allowMultiple").attr("checked", true);
根据Javascript规范:
document.getElementById("allowMultiple").checked = true;
这是我的表单的HTML:
<div class="widget-header"><h3>Edit: <span id="editReviewTypeYear-name" style="color: blue"></span></h3></div>
<div class="widget-content">
<form id="editReviewTypeYear-form" class="form-horizontal" url="submitReviewTypeYear.htm">
<div class="form-group">
<label class="col-sm-2 control-label">Allow Multiple: </label>
<div class="col-sm-10">
<input type="checkbox" id="allowMultiple" name="allowMultiple" />
<span id="allowMultipleSpan" style="color: blue"></span>
</div>
</div>
<div class="form-actions">
<button id="submitReviewTypeYear" type="submit">Save</button>
<button class="btn btn-small btn-warning reg-cancel" id="submitReviewTypeYear-cancel" type="button" name="Cancel" value="cancel">Cancel</button>
</div>
</form>
</div>
您尝试过if (table.cell(idx, 3).data() == true)
吗?
您总是得到false条件,因为您将布尔值与字符串形式的"true"进行比较。
- 为复选框javascript指定两个值
- Javascript复选框函数:;缺少:在属性id之后"
- JavaScript-切换“;全部检查”;复选框true/false
- 如何从javascript/jquery中的复选框中获取布尔值
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- 使用javascript在页面加载时取消选中所有复选框
- 更改类以选中复选框JavaScript
- 选中所有复选框javascript
- 方法通过复选框javascript获取触发器
- 选中所有复选框 JavaScript
- 复选框 Javascript 函数在 Bootstrap modal 中不起作用
- 使用复选框 JavaScript 禁用按钮
- 隐藏输入未正确选择的自定义复选框.Javascript需要调整
- 不带POSTING值的求和复选框-Javascript
- 自定义警报与复选框- Javascript
- 按钮,根据字符串开始选择复选框- Javascript
- 简单的复选框javascript不起作用
- 禁用和启用复选框Javascript
- 如何计算表单中的所有复选框(Javascript)
- 数据类型检查提示复选框javascript