如果javascript中文本输入中的条件为真,则取消激活复选框

时间:2014-04-19 06:30:13

标签: javascript checkbox

我有几个文本输入和一个复选框数组。 如果文本输入的值小于6,则取消激活该复选框。 我尝试了这个,但复选框始终处于启用状态。

<script>
    function desactivacasillas() {
        var formularioprincipal = document.getElementById("troncocomun");
        var primerelemento = document.getElementById("1").value;

        if (document.getElementById("1").value < 6) {
            var checkbox1 = document.getElementById("checkbox1").disabled = true;
        }
    }
</script>
<table>
    <tr>
        <td nowrap id="materia">ALGEBRA</td>
        <td>5.62</td>
        <td>
            <input type="text" id="1" name="1" onkeydown="return validarnumero(event)" onkeypress="return compruebacampo(event,this)" onkeyup="desactivacasillas(event)">
        </td>
        <td>
            <input type="hidden" name="carga[0]" id="checkbox1" value="0">
            <input type="checkbox" name="carga[0]" id="checkbox1" value="5.62">
        </td>
    </tr>
</table>

你能告诉我,我做错了吗?

3 个答案:

答案 0 :(得分:0)

使ID唯一。以下是我尝试过的工作

<script>
    function desactivacasillas() {
        var formularioprincipal = document.getElementById("troncocomun");
        var primerelemento = document.getElementById("1").value;

        if (document.getElementById("1").value < 6) {
            var checkbox1 = document.getElementById("checkbox2");
           checkbox1.disabled = true;
        }
    }
</script>
<table>
    <tr>
        <td nowrap id="materia">ALGEBRA</td>
        <td>5.62</td>
        <td>
            <input type="text" id="1" name="1" value="6" onkeydown="return 

validarnumero(event)" onkeypress="return compruebacampo(event,this)" 

onkeyup="desactivacasillas(event)">
        </td>
        <td>
            <input type="hidden" name="carga[0]" id="checkbox1" value="0">
            <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62">
        </td>
    </tr>
</table>

答案 1 :(得分:0)

试试这个

  <!DOCTYPE html>
<html>
 <head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
 </script>



 <script>
 function desactivacasillas(args) {



 if (document.getElementById("1").value.length < 6) {
 $("#checkbox2").attr("disabled", true);
 }
 else
 {
 $("#checkbox2").attr("disabled", false);
 }
}
</script>
<table>
 <tr>
 <td nowrap id="materia">ALGEBRA</td>
 <td>5.62</td>
 <td>
     <input type="text" id="1" name="1" onkeyup="desactivacasillas(this.value)">
 </td>
 <td>
     <input type="hidden" name="carga[0]" id="checkbox1" value="0">
    <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62">
   </td>
  </tr>
 </table>


   </body>
 </html>

如果您不理解上述计划,请随时提出任何问题。

答案 2 :(得分:0)

试试这个。在java脚本中使用加载功能以在加载时禁用复选框。并使用parse Int函数,因为input将value返回为字符串。

更改复选框的ID。 ID始终是唯一的。

<script>
    function disableCheckbox(){
        document.getElementById("checkbox2").disabled = true;
    }
    function desactivacasillas() {
        var formularioprincipal = document.getElementById("troncocomun");
        var primerelemento = document.getElementById("1").value;
        if (parseInt(document.getElementById("1").value,10) > 6) {
            document.getElementById("checkbox2").disabled = false;
        }
    }
</script>

<body onload="disableCheckbox();">
    <table>
        <tr>
            <td nowrap id="materia">ALGEBRA</td>
            <td>5.62</td>
            <td>
                <input type="text" id="1" name="1" onkeyup="desactivacasillas(event)">
            </td>
            <td>
                <input type="hidden" name="carga[0]" id="checkbox1" value="0">
                <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62">
            </td>
        </tr>
    </table>
</body>