onchange=if(this.value!="")checkbox.checked=true;else checkbox.checked=false;

解决方案 »

  1.   

    <TABLE border='1' width='50'>
    <TR>
    <TD><INPUT id='uchk' TYPE="checkbox" NAME="">hello world</TD>
    <TD><INPUT id='utxt' TYPE="text" NAME="" onkeyup='if (this.value.length > 0) uchk.checked=true; else uchk.checked=false; return true;'></TD>
    </TR>
    </TABLE>
      

  2.   

    <script language="javascript">
    <!--
    //-------------检查是否为正整数
    //*****************下面的方式只对全部是数字的时候
    //**********比如输入333dd不选中,只有全部是数字的3333...才选中
    //你的意思是含有数字的时候选中还是只有全部为数字的选中。
    //***************只要改动正则表达就OK
    function isInt(str)
    {
      var newPar=/^\d+$/; //如果是其他数字,请变这里
      return newPar.test(str);
    }
    function _Change()
    {
    var stxt = document.getElementById("sText").value;
    //*****如果为数字
    if(isInt(stxt))
    {
     document.getElementById("sCheck").checked = true;
    }
    else
    {
     document.getElementById("sCheck").checked = false;
    }
    }
    //-->
    </script>
    <input type="checkbox" id="sCheck">
    <input type="text" id="sText" onpropertychange="_Change()">
      

  3.   

    <script language="javascript">
    <!--
    //-------------检查是否为正整数
    //*****************下面的方式只对全部是数字的时候
    //**********比如输入333dd不选中,只有全部是数字的3333...才选中
    //你的意思是含有数字的时候选中还是只有全部为数字的选中。
    //***************只要改动正则表达就OK
    function isInt(str)
    {
      var newPar=/^\d+$/; //只有全部为数字的选中
      return newPar.test(str);
    }
    function ChrInt(str)
    {
      var newPar=/\d+/; //含有数字的,比如333dd或ddd33也选中
      return newPar.test(str);
    }
    function _Change()
    {
    var stxt = document.getElementById("sText").value;
    //*****如果为数字
    if(ChrInt(stxt))//**********这里才用上面哪个方法
    {
     document.getElementById("sCheck").checked = true;
    }
    else
    {
     document.getElementById("sCheck").checked = false;
    }
    }
    //-->
    </script>
    <input type="checkbox" id="sCheck">
    <input type="text" id="sText" onpropertychange="_Change()">