Установка флажка в таблице с использованием Javascript - PullRequest
0 голосов
/ 20 июля 2011

Попытка установить флажок внутри таблицы.Я думал, что это будет просто и похоже на выполнение в форме.

Я могу сделать это успешно с формой, но застреваю, когда флажок находится в таблице.

Когда флажок находится в форме, которую я использую:

 <form name="access_menu_form">
    <input type="checkbox" name="mybox_name" id="mybox_id" value="1">
 </form>

 document.access_menu_form.mybox_name.checked == true

Что прекрасно работает !!

Я знаю, что мне не хватает ключевого момента в DOM.Попытка установить флажок, который я имею в таблице, терпит неудачу, используя подобную технику, которая терпит неудачу:

Моя таблица:

 <table name="access_table">
   <thead>
    <tr>
      <th>Area</th> 
      <th>Item</th> 
      <th>Access</th> 
    </tr>
  </thead>
 <tr>
   <td><input type="checkbox" name="mybox_name" id="mybox_id" value="1"></td>
   <td><input type="checkbox" name="mybox1_name" id="mybox1_id" value="1"></td>
   <td></td>
 </tr>
 </table>

Мой сценарий

 document.access_table.mybox_name.checked = false;

Я получаюошибка: Uncaught TypeError: Невозможно прочитать свойство 'mybox' из неопределенного

 document.mybox_name.checked = false;

Я получаю сообщение об ошибке: Uncaught TypeError: Невозможно установить свойство 'флажок' из неопределенного

Ответы [ 6 ]

1 голос
/ 20 июля 2011
  • Использовать атрибут «флажок»
  • разрешить javascript найти флажок, используя следующий документ.getElementById ('mybox_id')
1 голос
/ 20 июля 2011

Попробуйте:

document.getElementById('mybox_id').checked = false;

Будет работать где угодно (внутри или снаружи стола).

1 голос
/ 20 июля 2011

Попробуйте с document.getElementById('mybox_id').checked = false!

1 голос
/ 20 июля 2011

Когда вы используете такой JavaScript, вы обычно получаете доступ к идентификатору элемента, а не к его имени. Попробуйте вместо этого:

Для проверки значения:

if(document.getElementById('mybox_id').checked == false){
  // Do Stuff
}

Чтобы присвоить значение:

document.getElementById('mybox_id').checked = false;
1 голос
/ 20 июля 2011

Если у вас есть идентификаторы, самый простой способ - использовать getElementById:

document.getElementById('mybox_id').checked == true;

. Он всегда будет работать независимо от того, где находится элемент.

0 голосов
/ 20 июля 2011

Просто оберните флажки в тег формы, который обернут тегом таблицы. Это решит вашу проблему.

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