0

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

4

3 回答 3

2

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

<input  type="checkbox" class="normalCheckBox">
于 2013-08-14T15:17:15.167 回答
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');
于 2013-06-19T12:46:38.443 回答
0

我有类似的问题。

就我而言,我使用的是对话框/弹出窗口,复选框不起作用的原因似乎是 z-index 为-1(负数)。

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

例如,当我在一个对话框(弹出)框中有我的时,最初 z-index 设置为 -1(这似乎有效)。当我通过单击按钮打开对话框时,z-index 设置为 1001(这似乎也有效)。

但是,对于包含在更新面板中的复选框,回发将复选框的 z-index 呈现回 -1(这不起作用,因为复选框位于对话框下方)。

总之- 检查包含复选框的元素的 z-index(递归)是否大于复选框 z-index,因为这可能是它不起作用的原因(没有 z-index 的元素似乎与复选框一起工作正常)。

一个 hacky 修复: 我添加了一些 jQuery onload 以将复选框的 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);
}
于 2013-06-26T04:39:39.893 回答