如何在XUl JavaScript中获取所选复选框值的值

时间:2011-08-23 19:30:14

标签: javascript checkbox xul alert

这是我的复选框,它是通过获取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);
}

} 

感谢您的支持。

1 个答案:

答案 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,所以我不知道你在谈论哪个值。