【发布时间】:2014-08-10 00:02:35
【问题描述】:
我将一个数组传递给一个函数,该函数应该检查/取消选中 jQuery 对话框中的某个复选框。
function preCheck(boolArray){
$("#cb0").attr("checked", boolArray[0]);
$("#cb1").attr("checked", boolArray[1]);
$("#cb2").attr("checked", boolArray[2]);
$("#cb3").attr("checked", boolArray[3]);
//etc.
$("#divform").dialog("open");
}
这些复选框被放置在 divform 中,该 divform 在 document.ready 函数中被称为对话框。 boolArray 中的值由我单击哪个按钮打开对话框定义(导致根据单击哪个按钮检查不同的复选框)。
我的问题如下:第一次单击按钮时,复选框会根据 boolArray 进行相应检查。如果我手动选中/取消选中某些 > 关闭对话框 > 重新单击同一个按钮以打开对话框,复选框将保持在我关闭对话框之前的状态,并且不再根据 boolArray 的值进行选中/取消选中。更令人沮丧的是,我未选中而应该选中的那个(根据 boolArray 中的布尔值)在 HTML 中显示为checked="checked",即使没有刻度线。任何帮助将不胜感激,我真的迷路了。
【问题讨论】:
-
使用 jQuery prop 代替,参见:stackoverflow.com/questions/426258/…
-
@WizLiz - 我在下面使用 .prop() 添加了一个演示,它确实有效。也许您可以在对话框中发布更多代码,而不是什么?
标签: jquery checkbox jquery-ui-dialog checked