使用Javascript在表中设置复选框

时间:2011-07-20 18:50:40

标签: javascript html dom

尝试在表格中设置复选框。我认为它很简单,类似于在表单中进行。

我可以使用表单成功完成此操作,但当复选框位于表格中时会卡住。

当复选框位于我使用的表格中时:

 <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;

我收到错误:未捕获的TypeError:无法读取未定义的属性“mybox”

 document.mybox_name.checked = false;

我收到错误:Uncaught TypeError:无法设置未定义

的属性'checked'

6 个答案:

答案 0 :(得分:1)

如果您有ID,最直接的方法是使用getElementById

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

无论元素居住在哪里,它都会一直有效。

答案 1 :(得分:1)

当您使用这样的JavaScript时,您通常会访问元素的ID,而不是名称。试试这个:

检查值:

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

分配值:

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

答案 2 :(得分:1)

尝试使用document.getElementById('mybox_id').checked = false

答案 3 :(得分:1)

试试这个:

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

可以在任何地方(表格内部或外部)工作。

答案 4 :(得分:1)

  • 使用'checked'属性
  • 让javascript使用以下文件找到该复选框,document.getElementById('mybox_id')

答案 5 :(得分:0)

只需将复选框包装在表格标签中,表格标签包含表格标签。这样可以解决您的问题。