2016-09-25 5 views
-1

Я использую EditableGrid для сортировки HTML-таблицы. Эта таблица создается с помощью MVC-Controller (как строка) и имеет идентификатор (#htmlgrid). Таблица отображается правильно. Я знаю, как получить строку и столбец, но я не знаю, как найти значение для этого флажка. Я использую JavaScript-функцию для получения этих значений. В отладчике (Google Chrome) я не могу найти значение для отмеченного поля. Моя таблица выглядит следующим образом:выяснить, выбран ли флажок для флажка

<tr> 
    <th style="border:2px solid grey">selected</th> 
    <th style="border:2px solid grey">id</th> 
    <th style="border:2px solid grey">name</th> 
</tr> 

И внутри моей функции я использую их, чтобы получить сверку и массив элементов.

var length = document.getElementById(tableId).rows.length; 
var container = document.getElementById(tableId).rows; 

Как вы можете видеть, в первом столбце находится флажок. Также каждый флажок имеет идентификатор, например:

<td id="checkbox0">false</td> 

Как получить доступ к значению «false» (в данном случае)? Я пытался получить это значение с помощью document.getElementById("checkbox0").checked и если я установить переменную для таблицы, например:

var container = document.getElementById(tableId);//html table 
container[2].children[0];//table row 2, column 0 

Я получаю много атрибутов, но я ничего не мог ясно видеть, как не выбран или нет.

+0

Как видно из примера, у вас нет * реальных * флажков (''). Вы можете попробовать что-то вроде этого 'if (container.rows [2] .cells [0] .innerHTML.trim() == 'false') {...}' –

+0

Этот метод, к сожалению, только поставляет (без обрезки()) this: '', но не значение – Garamaru

ответ

0

Как насчет document.getElementById("checkbox0").innerHTML? Это только для того, чтобы получить innerHTML между вашим тегом td. Я очень смущен из-за того, что вы задаете значение флажка, но я не вижу input type="checkbox" (или что-то подобное)

(Это должно быть в комментарии. Однако, поскольку я не могу опубликовать комментарий, я думаю, что я только есть выбор, чтобы поставить здесь)

+0

Поскольку это не настоящий флажок, он выглядит так, как и он, благодаря EditableGrid. И это возвращает '' "', если я делаю innerHTML. Какая переменная это, определяется EditableGrid. Это выглядит так (window.onload): 'editableGrid.load ({ ) метаданные: [ {name: "id", datatype: "boolean", editable: true}, {name: "sensorid", тип данных: "string", editable: false}, {name: " sensorname ", тип данных:" string ", editable: false} ] });' (извините за формат) – Garamaru

+0

Я мало знаю об EditableGrid, но я думаю, вы можете попробовать: 'document.getElementById (" checkbox0 ") .getElementsByTagName ("вход"). checked' –

0

Вы можете получить статус флажком по:

$('#checkbox0').is(":checked"); 

который возвращает истинное или ложное.

Чтобы выбрать все флажком вы можете проверить

$('input[type="checkbox"]:checked') 

надеюсь, что это помогает

0

Ну, я чувствую себя тупой и я должен чувствовать себя немым. Ответ был довольно прост ... для инициализации таблицы (с editablegrid) я создал глобальный JavaScript-объект. Я только должен был сделать это в моем коде:

var value = editableGrid.getCell(row, column).firstChild.checked; 

Неясно, почему разработчики решили сделать это так, но это, как я получаю мои правильные значения. Все еще большое спасибо всем, кто не торопится читать и пытается его решить.