JSF DataTable выберите одну строку с помощью переключателя - PullRequest
0 голосов
/ 02 февраля 2011

Я использую JSF 1.1, и у меня есть ice: datatable со строками, полученными из поддерживающего бина. Чтобы выбрать строку для редактирования, у меня есть переключатель для этой строки. Когда я выбираю строку с помощью переключателя, я получаю следующую ошибку.

radio.name is undefined

На своей странице я называю javascript следующим образом

<h:selectOneRadio styleClass="none" valueChangeListener="#{bean.setSelectedItem}"
                onclick="dataTableSelectOneRadio(this);">
                <f:selectItem itemValue="null" />
            </h:selectOneRadio>

Любая моя функция JavaScript

function dataTableSelectOneRadio(radio) {
    var id = radio.name.substring(radio.name.lastIndexOf(':'));
    var el = radio.form.elements;
    for (var i = 0; i < el.length; i++) {
        if (el[i].name.substring(el[i].name.lastIndexOf(':')) == id) {
            el[i].checked = false;
        }
    }
    radio.checked = true;
}

Как я могу устранить эту ошибку?

Спасибо

1 Ответ

1 голос
/ 02 февраля 2011

Очевидно, что IceFaces не генерирует атрибут name для переключателя или не помещает onclick в сгенерированный элемент <input type="radio">.Попробуйте использовать id вместо этого.Замените radio.name в коде JavaScript на radio.id.Если напрасно, вам нужно проверить сгенерированный вывод HTML (открыть страницу в браузере, щелкнуть правой кнопкой мыши и Просмотреть исходный код ) и изменить код JS соответственно.

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