<script language="javascript" type="text/javascript">
function check(n){
if(document.getElementById("txt"+n).value!="") document.getElementById("ck"+n).checked=true; 
}
</script>
<input name="txt1" id="txt1" type="text" value="" onblur="check(1)">
<input type="text" value="">
<input id="ck1" name="ck1" type="checkbox"><br />
<input name="txt2" id="txt2" type="text" value="" onblur="check(2)">
<input id="ck2" name="ck2" type="checkbox">

解决方案 »

  1.   

    改了一楼的 
    eval("ck"+n).checked=eval("txt"+n).value!="";
      

  2.   


    <script language="javascript" type="text/javascript">
    function chd(){
    var _input = document.getElementsByTagName("input");ij=_input.length
    var it=0
    for(var i=0;i<ij;i++){
    if(_input[i].name==_input[i].id+"b"){
    _checked=0
        for (var k=it;k<i;k++){
        if (_input[k].value !=""&&_input[k].name==_input[k].id+"a"){
      _checked=1
      k=10000;
    }
        }
    _input[i].checked=_checked?true:false;
    it=i+1;
    }
    }
    }
    window.onload=chd
    function sum(){
    var a = document.getElementById("123");
    var b = document.getElementById("124");
    var c = document.getElementById("125");
    //考虑加法结果的合理性:
    var c_tmp=parseInt(a.value)+parseInt(b.value)
    if(c_tmp){c.value =c_tmp;chd()}else c.value ="";
    //否则
    //c.value = parseInt(a.value)+parseInt(b.value);
    chd()
    }
    </script><input name="123aa" id="123" type="text" value="" onKeyUp="sum();">
    <input name="124aa" id="124" type="text" value="" onKeyUp="sum();">
    <input name="125a" id="125" type="text" value="" readonly="true">
    <input name="444b" id="444" type="checkbox" />
    <br />
    <input name="456a" id="456" type="text" value="" onKeyUp="chd()">
    <input name="457a" id="457" type="text" value="45678" onKeyUp="chd()">
    <input name="458a" id="458" type="text" value="" onKeyUp="chd()">
    <input name="333b" id="333" type="checkbox" />