动态复选框被重置
Dynamic Checkboxes getting reset?
>我显示了一个完整的日历和一个资源列表,其名称旁边显示了复选框。它们的复选框会正确显示,如果我不对它们执行任何操作,它们会像往常一样保持选中状态。但是,当我使用 jquery 调用 fullcalendar 并去添加或删除资源时,复选框会在运行 jquery/fullcalendar 函数后取消选中。
以下是我创建复选框的方法:
$(document).ready(function() {
for(p in dsnrs){
$('#specialists').append(
'<input type="checkbox" name="designer" id="' + dsnrs[p].name +'" onChange="addOrRem(dsnrs['+p+'] )" />' +dsnrs[p].name+ '<br />');
}
});
这是我添加/删除日历资源的函数
function addOrRem(spec){
//alert("Specialist: " + spec.name + ", Checked: " +document.getElementById(spec.name).checked);
if(document.getElementById(spec.name).checked==true){
remRes(spec.id);
addRes(spec);
}if(document.getElementById(spec.name).checked=false){
remRes(spec.id);
}
}
function addRes(spec) {
$('#calendar').fullCalendar( 'addEventResource', spec );
}
function remRes(id) {
$('#calendar').fullCalendar( 'removeEventResource', id);
}
这是相关的HTML
<div id='designersbox' style='float:left;margin-top:5px'>
<div id='specialists' onload='specList()'></div>
<a href="#" onClick="addRes()">Add resource</a>
<a href="#" onClick="remRes()">Remove resource</a>
</div>
<div id='calbox' style="width:1000px;height:900px;position:relative;float:left;margin-bottom:10px; padding:10px">
<div id='calendar' style="float:left;height:1000px;width:1000px;"></div>
</div>
我不太确定为什么复选框被重置。如果我注释掉对添加/删除函数的调用并只执行警报,它们就可以正常工作。任何帮助或线索将不胜感激。
添加了 var, checked = document.getElementById(spec.name).checked;
似乎解决了问题。我不确定它为什么有效,但用 checked==true/false 替换 if 语句而不是不使用变量解决了这个问题。
新功能:
function addOrRem(spec){
//$(":checkbox[value=designer]").attr("checked", true);
//alert("Specialist: " + spec.name + ", Checked: " +document.getElementById(spec.name).checked);
var checked = document.getElementById(spec.name).checked;
if(checked==true){
remRes(spec.id, '#calendard');
addRes(spec, '#calendard') ;
}if(checked==false){
remRes(spec.id, '#calendard');
}
}
相关文章:
- JavaScript-取决于多个下拉选择或复选框的动态链接
- 动态添加复选框和输入框 jQuery
- 动态创建唯一的复选框
- 基于所选下拉列表值创建动态复选框
- “动态创建的表”上的复选框(每行最多只能选择1个)
- 动态填充复选框
- 动态选中文本区域中现有项目的复选框组
- 函数更改不适用于动态创建的表的复选框
- 在react中切换动态创建的复选框
- 如何根据用户选择动态更改多个复选框的编号
- 如何将jquery数组添加到html表单中,以将复选框动态添加到对话框中
- 将复选框动态添加到 jquery dilaogue 框中
- 聚合物核心标签和核心复选框动态
- HTML 复选框动态附加到列表,但 JavaScript 不起作用
- 如何勾选“复选框”动态- jQuery移动版
- AngularJS复选框动态ng-true-value表达式
- Angular js基于复选框动态绑定数据列表
- 通过选择复选框动态创建弹出表单
- 使用javascript中的复选框动态添加表列
- 使用 Javascript 将复选框动态添加到 Symfony 2 表单中