我有一个复选框。
<aui:input name = "enable" id = "enable" type="checkbox" label= 'Enable' onchange='handleClick(this);' />
我在页面加载时加载复选框的上一个状态。检查以前的状态时,我会执行以下操作。
var namespace = "<portlet:namespace/>";
window.onload = function() {
var cb = document.getElementById(namespace+ "enable");
cb.checked = true;
alert("state: " + cb.checked);
//do something
};
警告显示复选框为true
,并执行后面的代码。但是,视图不会显示要检查的复选框!我错过了什么?
答案 0 :(得分:2)
AUI Input
的不好或好处是,它会自动将 Checkbox 附加到input:checkbox
的ID。
<input type="checkbox" onchange="handleClick(this);" value="true" onclick="Liferay.Util.updateCheckboxValue(this); " name="_manageorganization_WAR_manageorganizationportlet_enableCheckbox" id="_manageorganization_WAR_manageorganizationportlet_enableCheckbox" class="aui-field-input aui-field-input-choice">
对于您"<portlet:namespace/>";
的情况,它会将ID生成为:
namespace+ "enableCheckbox"
因此请将其用作:
var namespace = "<portlet:namespace/>";
window.onload = function() {
var cb = document.getElementById(namespace+ "enableCheckbox");
cb.checked = true;
alert("state: " + cb.checked);
//do something
};
它会起作用。