获取javascript动态创建的控件状态
get javascript dynimcally created control state
我动态地添加一些行到我的ASP。. NET表,我在每行中有几个单元格,每个单元格包含一个动态创建的控件:
var TD = document.createElement('td');
var spanCheck = document.createElement("span");
spanCheck.innerHTML = "<input type='checkbox' name='vehicle' value='Car'>mycheck";
spanCheck.id = "newfoodcheck0";
spanCheck.onclick = function () {
if (spanCheck.checked)
alert('checked');
else
alert('unchecked');
};
TD.appendChild(spanCheck);
我正在为这个span添加一个onclick函数(它被渲染为一个复选框),我想知道它什么时候被选中,但是if (spanCheck.checked)
不起作用,我总是在我的警报中得到"未检查",这里出了什么问题?我应该使用spanCheck吗?还是我应该用document.getElementById(spanCheck.id).checked
?我已经测试过了,但还是没有运气!我如何知道我的复选框是否被选中或知道?
你正在做的是在spanCheck上添加点击事件并检查spanCheck.checked。然而,checked属性位于输入元素上,它是spanCheck的子元素。您可能希望这样做:
var TD = document.createElement('td');
var spanCheck = document.createElement("span");
spanCheck.innerHTML = "<input id='my_input' type='checkbox' name='vehicle' value='Car'>mycheck";
spanCheck.id = "newfoodcheck0";
spanCheck.onclick = function () {
var input = document.getElementById('my_input');
if (input.checked)
alert('checked');
else
alert('unchecked');
};
而且,我认为你还没有把你的TD插入体内。所以在最后一行,你应该使用appendChild:
TD.appendChild(spanCheck);
document.body.appendChild(TD);
另一件事,你不应该在跨度上附加onclick事件。您应该在输入元素上附加相同的内容。下面的代码做同样的事情:
var TD = document.createElement('td');
var spanCheck = document.createElement("span");
spanCheck.innerHTML = "<input id='my_input' type='checkbox' name='vehicle' value='Car'>mycheck";
spanCheck.id = "newfoodcheck0";
TD.appendChild(spanCheck);
document.body.appendChild(TD);
var input = document.getElementById('my_input');
input.onclick = function () {
if (input.checked)
alert('checked');
else
alert('unchecked');
};
在您的代码中,spanCheck
不呈现为复选框。它包含一个复选框。因此,没有spanCheck.checked
这样的属性。是一个spanCheck.children[0].checked
属性。
相关文章:
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 在angularjs中创建自定义控件的推荐方法
- 创建服务器控件.创建问题
- 如何在asp.net中获取动态创建的文本框web控件的值
- 如何在reactjs中创建仅输入控件
- 在Javascript中创建自定义的可重用控件(Kendo UI)
- 动态创建控件时如何使用.data()
- 在JavaScript和HTML中创建intellisense类型控件
- C#WebBrowser控件-使用DOM创建和修改javascript变量,然后使用Applet读取它
- 为多个操作创建ASCX控件
- FindControl无法使用动态创建的控件
- 将动态创建的ASP.NET控件传递给Javascript
- 是否可以在 asp.net 中使用 JavaScript 创建服务器端列表框控件
- Javascript 循环未正确创建 jquery 控件
- 如何在客户端函数行中创建的 RadGrid 的命令项模板中查找控件
- 在传单中创建自定义层控件
- jquery内部用户控件动态创建
- 如何在控件已经创建后使用Uploadify更改设置
- 获取javascript动态创建的控件状态
- 保持以前的页面值和选中的控件状态,单击浏览器后退按钮