jquery给父页面元素赋值后产生的怪有关问题

jquery给父页面元素赋值后产生的怪问题
<script type="text/javascript" src="../../../js/jquery-1.4.2.min.js"></script>
<script language="javascript">
function change(TmpBOMPRId,field,val,idx,obj){

var _tmp=0;
$.each($('[name^="ReadyTime"]'), function(i,v){
_tmp += parseFloat(parseFloat($(v).val()).toFixed(3));
})
alert(parent.document.all("ReadyTime").value);  //这里可以正常显示父页面元素ReadyTime的value值

parent.$('[name="ReadyTime"]').val(_tmp.toFixed(3));

alert(parent.document.all("ReadyTime").value);   //这里有问题了,变成undefined

//1.执行到上面这句,父页面元素ReadyTime的value却变成undefined 但html父页面上此元素的值确实显示为合计值了,不知是为什么 ?
//2.另外,如果把parent.$('[name="ReadyTime"]').val(_tmp.toFixed(3)); 改为parent.$('[name^="ReadyTime"]').val(_tmp.toFixed(3));
//实际上由于父页面上只有一个name=ReadyTime的input元素,用name^="ReadyTime"和name="ReadyTime" 的效果应该一样,
//但执行最后一句alert时,用name^="ReadyTime"没问题;用name="ReadyTime",就会变成undefined
//3.实际上,如果把这句parent.$('[name="ReadyTime"]').val(_tmp.toFixed(3)); 改为 parent.document.all("ReadyTime").value=_tmp;
//也是正常的,执行最后一句会正确显示 parent.document.all("ReadyTime")的value  

</script>


请帮忙看一下上面这个怪问题
------解决思路----------------------
我测试的没有发现你说的问题
你看看parent.$('[name^="ReadyTime"]').length是1还是2

------解决思路----------------------
$('[name="ReadyTime"]', window.parent.document).val(_tmp.toFixed(3)); 
可以么。
------解决思路----------------------
本帖最后由 showbo 于 2015-03-24 13:51:06 编辑
引用:
alert(parent.document.all("ReadyTime")==parent.$('[name="ReadyTime"]')[0])

结果是false

现在我把
parent.$('[name="ReadyTime"]').val(_tmp.toFixed(3));

改成了
parent.document.all('ReadyTime').value=_tmp.toFixed(3);


就正常了


为false说明不是同一个对象。。自己看下父页是不是动态加了其他对象进去了。。name=ReadyTime

而且依据你的描述说明这个对象还不是输入对象,自己console.log打印下这个对象看看