Как получить значение выбранного значения флажка в XUl JavaScript - PullRequest
1 голос
/ 23 августа 2011

Это мой флажок, и он создается динамически, получая значение дерева 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 Ответ

2 голосов
/ 23 августа 2011

checkbox является дочерним элементом с идентификатором 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, поэтому я не знаю, о каком значении вы говорите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...