复选框在我的自定义模块中不起作用

时间:2013-06-19 12:46:38

标签: dotnetnuke dotnetnuke-module

我有一个用ASP.NET制作的网站,我把它变成了DotNetNuke模块。但是现在当我尝试检查复选框时,它不起作用。

3 个答案:

答案 0 :(得分:2)

将“normalCheckBox”类添加到您的复选框,DNN将忽略它。 EJ:

<input  type="checkbox" class="normalCheckBox">

答案 1 :(得分:0)

制作DotNetNuke的好人有一种特殊的幽默感。事实证明,我的网站上使用的复选框被DotNetNuke隐藏,并被复选框的图像取代。这背后的原因我不清楚。

看看HTML:

<label style="display: inline-block;">
                        <input type="checkbox" id="copyAllSettingsCheckBox" name="copyallcheckbox" title="Copy all settings" style="position: absolute; z-index: -1; visibility: hidden;">
<span class="dnnCheckbox">
<span class="mark">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAMAAAAoyzS7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFAAAAAAAApWe5zwAAAAF0Uk5TAEDm2GYAAAAMSURBVHjaYmAACDAAAAIAAU9tWeEAAAAASUVORK5CYII=">
</span>
</span>
Include any additional settings.
</label>

为了解决这个问题,我使用了下面显示的代码。这有效地清理了DotNetNuke添加的东西。只需将其放在javascript的末尾即可。

$('.dnnCheckbox').remove();
$(':checkbox').removeAttr('style');

答案 2 :(得分:0)

我遇到了类似的问题。

在我的情况下,我正在使用对话框/弹出窗口,并且复选框无效的原因似乎是z-index为-1(负数)。

但是,似乎复选框的z-index并不总是设置为-1。

例如,正如我在对话框(弹出窗口)框中所看到的那样,最初将z-index设置为-1(这似乎有效)。 当我单击按钮打开对话框时,z-index设置为1001(这也似乎有效)。

但是,如果使用更新面板中包含的复选框,则回发会将复选框的z-index重新设置为-1(这不起作用,因为复选框位于对话框下方)。

总之 - 检查包含复选框(递归)的元素的z-index是否大于复选框z-index,因为这可能是它无法工作的原因(没有a的元素) z-index似乎可以使用复选框。)

一点骇客修复: 我添加了一些jQuery onload来将checkbox的z-index置于它的父元素之上(在本例中是jQuery对话框)

这将获得父元素中z-index为-1的所有输入,并将其z-index 1设置为父元素

//the id being the parent element that has the higher z-index
function FixInputZIndex(id){
    var element = $('#' + id);

    $('#' + id + ' input').filter(function () { return $(this).css('z-index') < 0; }).css('z-index', element.css('z-index') + 1);
}