【问题标题】:How to automatically uncheck checkbox if textbox is filled如果填充了文本框,如何自动取消选中复选框
【发布时间】:2012-12-28 03:52:12
【问题描述】:

我已将复选框设为默认检查。如果填充了某些文本字段,如何自动取消选中该复选框。我正在考虑使用javascript。


我试过用这个

<input type="text" name="commentID" id="commentID" onkeyup="userTyped('skipID', this)"/>
<input type="checkbox" name="skipID" value="N" id="skipID" checked="checked"  />

和javascript

function userTyped(commen, e){
if(e.value.length > 0){
    document.getElementById(commen).checked=false;
}else{
    document.getElementById(commen).checked=true;
}}​

它可以工作,但是如果我有 3 个文本字段,并且我希望仅在填充所有文本字段后才填充复选框。

【问题讨论】:

标签: javascript checkbox default textfield


【解决方案1】:

这样做:

<input type="checkbox" id="someid" checked="checked"/>

<textarea onchange="if (this.value != '') document.getElementById('someid').checked = false;"></textarea>

【讨论】:

  • 糟糕...内联javascript。
  • @Nile LOL,是的,我同意你的观点:P 但这只是一个小例子。
  • @Mickle Foretic 如果我有 3 个不同的文本字段怎么办。只有在所有三个 texfield 都被填充后才会取消选中该复选框
【解决方案2】:
 if(document.getElementById('yourtextBox').value!=' ')
 {
    document.getElementById('checbox').checked=false;
 } 

【讨论】:

    【解决方案3】:

    试试下面的代码。在此代码中,每次在文本字段中键入字符时,都会调用该函数并且文本字段值的长度不为零,复选框将被取消选中,并且在您清除文本字段时将被选中

    //Function get called when you type each letter
    function OnChangeTextField(){
        //getting the length of your textbox
        var myLength = $("#myTextbox").val().length;
        if(myLength > 0){
            $("#myCheckbox").attr("checked", false);
        }else{
               $("#myCheckbox").attr("checked", true);
            }
    
    }
    
    
    <input type = "text" id = "myTextbox" onkeyup= "OnChangeTextField();"/>
    <input type="checkbox" id = "myCheckbox" value = "true" checked = "checked"/>
    

    【讨论】:

    • 如果在检查了 3 个文本字段之后,我希望取消选中该复选框。我试过这个并且它有效,但可以说我希望仅在填充 3 个文本字段后自动取消选中复选框。
    • 您可以使用计数器变量并在离开每个文本字段后(在模糊事件中)检查文本字段的长度,如果文本字段包含任何值,您可以简单地增加计数器变量。当计数器变量达到3时,您可以使用代码取消选中复选框
    • 对不起,我不明白你在说什么...@Anand
    【解决方案4】:
    $("#comment").on("keyup blur", function () {
        $("#box").prop("checked", this.value == "");
    });
    

    EDIT: You can also use jQuery

    【讨论】:

      【解决方案5】:
       $("#comment").on("keyup blur", function() {
          $("#box").prop("checked", this.value == "");
      });
      

      Try jQuery, This works for me...

      【讨论】:

      • 问题是这不能回答问题。此处的 focus 上的复选框未选中,即使复选框中没有任何内容也适用,而不是等待它被填充。
      • 好的,我做了一个新的解决方案。
      猜你喜欢
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      • 1970-01-01
      相关资源
      最近更新 更多