这甚至是一个不容易阐述清楚的问题,由于对JS不熟悉,考虑了很久,还是没有答案。
在一个类似DATAGRIDVIEW的容器的模板里面,我放了一些三方控件,比如说一个ASPxCheckBox控件和一个ASPxButton控件,于是在生成的页面上,会生成很多行这样的控件集,我需要的效果是这样:如果我点击一下其中一个ASPxButton控件,那么对应行的ASPxCheckBox会被打勾或清空。
当我点击ASPxButton控件时,我可能得到对应行的ASPxCheckBox控件的UniqueID的字符串,并根据这个字符串使用 document.getElementById(UniqueID字符串)找到这个组件,但问题在这里,实际上这个对象类型应该是 ASPxClientCheckBox,但得到的组件类型却是 [Object, HTMLTableElement]之类的东西,这样就造成了类ASPxClientCheckBox中的方法和属性在找到的组件中根本无法使用的问题。如果根据ASPxCheckBox控件的页面事件里面的对象来的话,是完全可以调用到类ASPxClientCheckBox中的方法和属性的。现在的问题就是如何使用JS获类型为ASPxClientCheckBox的ASPxCheckBox控件的对象,请高手指点。
以下是前端代码片断:
</tr>
</table><script id="dxss_420166139" type="text/javascript">
<!--
aspxAddDisabledItems('ASPxPageControl1_ASPxDataView1_IT0_ASPxCheckBox1',[[['dxeDisabled_DevEx'],[''],['']]]);var dxo = new ASPxClientCheckBox('ASPxPageControl1_ASPxDataView1_IT0_ASPxCheckBox1');
window['chkone'] = dxo;
dxo.uniqueID = 'ASPxPageControl1$ASPxDataView1$IT0$ASPxCheckBox1';
dxo.CheckedChanged.AddHandler(chkcc);
dxo.imageProperties = {'4':['dxWeb_edtCheckBoxChecked_DevEx','dxWeb_edtCheckBoxUnchecked_DevEx'],'8':['dxWeb_edtCheckBoxCheckedDisabled_DevEx','dxWeb_edtCheckBoxUncheckedDisabled_DevEx']};
dxo.icbFocusedStyle = ['dxICBFocused_DevEx',''];
dxo.InlineInitialize();//-->
</script>
</div>
就是这个类型ASPxClientCheckBox,如何用document.getElementById(UniqueID字符串)找到这个组件后转化为ASPxClientCheckBox类型。
在一个类似DATAGRIDVIEW的容器的模板里面,我放了一些三方控件,比如说一个ASPxCheckBox控件和一个ASPxButton控件,于是在生成的页面上,会生成很多行这样的控件集,我需要的效果是这样:如果我点击一下其中一个ASPxButton控件,那么对应行的ASPxCheckBox会被打勾或清空。
当我点击ASPxButton控件时,我可能得到对应行的ASPxCheckBox控件的UniqueID的字符串,并根据这个字符串使用 document.getElementById(UniqueID字符串)找到这个组件,但问题在这里,实际上这个对象类型应该是 ASPxClientCheckBox,但得到的组件类型却是 [Object, HTMLTableElement]之类的东西,这样就造成了类ASPxClientCheckBox中的方法和属性在找到的组件中根本无法使用的问题。如果根据ASPxCheckBox控件的页面事件里面的对象来的话,是完全可以调用到类ASPxClientCheckBox中的方法和属性的。现在的问题就是如何使用JS获类型为ASPxClientCheckBox的ASPxCheckBox控件的对象,请高手指点。
以下是前端代码片断:
</tr>
</table><script id="dxss_420166139" type="text/javascript">
<!--
aspxAddDisabledItems('ASPxPageControl1_ASPxDataView1_IT0_ASPxCheckBox1',[[['dxeDisabled_DevEx'],[''],['']]]);var dxo = new ASPxClientCheckBox('ASPxPageControl1_ASPxDataView1_IT0_ASPxCheckBox1');
window['chkone'] = dxo;
dxo.uniqueID = 'ASPxPageControl1$ASPxDataView1$IT0$ASPxCheckBox1';
dxo.CheckedChanged.AddHandler(chkcc);
dxo.imageProperties = {'4':['dxWeb_edtCheckBoxChecked_DevEx','dxWeb_edtCheckBoxUnchecked_DevEx'],'8':['dxWeb_edtCheckBoxCheckedDisabled_DevEx','dxWeb_edtCheckBoxUncheckedDisabled_DevEx']};
dxo.icbFocusedStyle = ['dxICBFocused_DevEx',''];
dxo.InlineInitialize();//-->
</script>
</div>
就是这个类型ASPxClientCheckBox,如何用document.getElementById(UniqueID字符串)找到这个组件后转化为ASPxClientCheckBox类型。
解决方案 »
- 连个结果都是undefinde,为什么返回false?
- html缓存问题,迷糊了,求大侠解疑
- google地图问题
- 一直想学正则表达式,但不知从何下手.
- 求各结果保留两位小位的问题。在线等!!
- 插入图片的问题(把一个框架里的图片插入到编辑区)?
- 大哥求救!!!!变量名称是由字符串+递增数字该怎么写,谢谢!!
- 如何实现始终在浏览器窗口顶端,不随窗口滚动的区域。~~~~
- 可以用javascript等脚本语言画一条线吗?
- jsp中SELECT的问题,求帮忙,谢谢。。
- Ext.net 动态添加列
- js获得select的*多选值*(不是单个的),然后将该值传给对应的action使之能够用getParameterValue得到参数
这里不是定义到了 chkone上面吗?直接用这个变量就可以访问了?
window['chkone'] = dxo;
dxo.uniqueID = 'ASPxPageControl1$ASPxDataView1$IT7$ASPxCheckBox1';
dxo.CheckedChanged.AddHandler(chkcc);
dxo.imageProperties = {'4':['dxWeb_edtCheckBoxChecked_DevEx','dxWeb_edtCheckBoxUnchecked_DevEx'],'8':['dxWeb_edtCheckBoxCheckedDisabled_DevEx','dxWeb_edtCheckBoxUncheckedDisabled_DevEx']};
dxo.icbFocusedStyle = ['dxICBFocused_DevEx',''];
dxo.InlineInitialize();var dxo = new ASPxClientCheckBox('ASPxPageControl1_ASPxDataView1_IT9_ASPxCheckBox1');
window['chkone'] = dxo;
dxo.uniqueID = 'ASPxPageControl1$ASPxDataView1$IT9$ASPxCheckBox1';
dxo.CheckedChanged.AddHandler(chkcc);
dxo.imageProperties = {'4':['dxWeb_edtCheckBoxChecked_DevEx','dxWeb_edtCheckBoxUnchecked_DevEx'],'8':['dxWeb_edtCheckBoxCheckedDisabled_DevEx','dxWeb_edtCheckBoxUncheckedDisabled_DevEx']};
dxo.icbFocusedStyle = ['dxICBFocused_DevEx',''];
dxo.InlineInitialize();var dxo = new ASPxClientCheckBox('ASPxPageControl1_ASPxDataView1_IT10_ASPxCheckBox1');
window['chkone'] = dxo;
dxo.uniqueID = 'ASPxPageControl1$ASPxDataView1$IT10$ASPxCheckBox1';
dxo.CheckedChanged.AddHandler(chkcc);
dxo.imageProperties = {'4':['dxWeb_edtCheckBoxChecked_DevEx','dxWeb_edtCheckBoxUnchecked_DevEx'],'8':['dxWeb_edtCheckBoxCheckedDisabled_DevEx','dxWeb_edtCheckBoxUncheckedDisabled_DevEx']};
dxo.icbFocusedStyle = ['dxICBFocused_DevEx',''];
dxo.InlineInitialize();