这是我的复选框,它是通过获取XUL树的值动态创建的。
var yyahoo = tree.view.getCellText(i, tree.columns.getNamedColumn("yahoo"));
var existing = document.getElementById('box');
var checkbox = document.createElement('checkbox');
capt.appendChild(checkbox);
checkbox.setAttribute('label', yyahoo);
checkbox.setAttribute("checked", "false")
checkbox.setAttribute('style', 'color: green;');
像这样我在我的XUL文件中动态创建了许多复选框。
当我检查Mozilla网站时,我解释说,我必须使用hasAttribute()来获取所选复选框的值,这让我很困惑。
请帮助我获取所选复选框的值。
这是获取点击值的按钮。
<row><button label="get" oncommand="get();"/></row>
这是功能:此功能不起作用'因为我的功能中缺少某些东西。
function get()
{
// check that the attribute exists before setting a value
var d = document.getElementById("box");
if (d.hasAttribute("checkbox")) {
alert(d);
}
}
感谢您的支持。
答案 0 :(得分:2)
checkbox
是ID为box
的元素的子,而不是属性。尝试这样的事情:
function get() {
// check that the attribute exists before setting a value
var table = document.getElementById("box");
var cells = table.getElementsByTagName("checkbox");
for (var i = 0; i < cells.length; i++) {
var cell = cells[i];
if(cell.checked) {
alert(cell.getAttribute("label"));
// or cell.label
}
}
}
checked
属性会告诉您当前是否选中了复选框。 hasAttribute('checked')
会告诉您属性是否已设置。也许你必须使用两者,我不知道。
显然, checkbox
[MDN]元素没有属性value
,所以我不知道你在谈论哪个值。