泛微OA实现根据下拉选择框来对其他单元格进行赋值
最近遇上要求说需要根据下拉选择框选择的选项不同来进行赋值的,我当时第一反应就是通过bindPropertyChange来进行绑定,但是发现bindPropertyChange对明细表的字段不起作用,即使我是遍历了每一个单元格,并且进行的绑定,就是没用。
然后就不得不使用计时器来完成这一要求。
jQuery("#field12345").bindPropertyChange(function(){
fangfa();
})
<script type="text/javascript">
/*
*实现一个功能:根据明细表中下拉框选中的值,来进行判断,如果等于0那么给另外一个单元格赋值为0.如果等于1那么就给另外一个单元格赋值清空
*/
var flag = 1;
function change(){
// num是用于计数的,第几行第几行都是由num计数,然后num需要在后面进行自增的操作
var num = 0;
// 循环遍历明细表中每一行的数据
$("input[id^=field12345_]").each(function(){
var temp1 = jQuery('#field12345_'+num).val(); //获取下拉选择框中获取的值
var temp2 = jQuery('#field54321_'+num).val();//获取需要赋值的单元格的值
// 判断temp1的值,temp1是下拉选择框,其中的值就是选中选项后所对应的value
if(temp1=="0"){
jQuery("#field543216_"+num).val("0.00")
// 这个是设置自读属性,attr设置temp2这个单元格的字段属性是只读
jQuery("#field543216_"+num).attr({"readonly":"readonly"});
}else{
jQuery("#field543216_"+num).val("")
}
num++;
})
}
// 设置定时器,每隔一秒就进行判断
window.setInterval("change()", 1000);
</script>
**PS:**但是使用计时器就会每秒都执行这个判断,就不是很好,但是也没有找到更合适的方法了,不管是监控这个选择框的点击事件还是属性改变事件,都无法实现。**我也不知道为啥绑定事件会失效,重点是我绑定主表字段的时候其实是可以成功运行的。**问了一下带我的前辈,他也说明细表中用不了,但是也不知道为啥用不了。
如果你们有更好的方法的话,欢迎在评论区进行沟通呀~