簡體   English   中英

填寫多個文本框后如何自動取消選中復選框?

[英]How to unchecked checkbox automatically after multiple textbox is filled?

我嘗試使用這個

<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;
}}​

它可以在JSfiddle上運行,例如“ EXAMPLE”,但我似乎無法使其在Dreamweaver上運行,並且僅當我使用一個文本框時,才希望僅在填充三個文本框后才自動取消選中該復選框。

這里的http://jsfiddle.net/MAVLy/7/是使用帶有三個文本框的jQuery重寫的函數。 為了提高可讀性,我在變量中放入了文本框長度,但是您可以忽略它。

HTML:

<input type="text" name="textbox1" id="textbox1" class="enable" />
<input type="text" name="textbox2" id="textbox2" class="enable" />
<input type="text" name="textbox3" id="textbox3" class="enable" />
<input type="checkbox" name="skipID" value="N" id="skipID" checked="checked"  />

JQUERY:

$(function(){
  $('input.enable').keyup(function(){
    var t1 = $('#textbox1').val().length;
    var t2 = $('#textbox2').val().length;
    var t3 = $('#textbox3').val().length;
   if (t1==0 || t2==0 || t3==0) $('#skipID').attr('checked', true);
   else $('#skipID').attr('checked', false);
  });        
});

替代解決方案。 此選項適用於不限數量的class enable文本框

$(function(){
  $('input.enable').keyup(function(){
    var checked = false;
    $('input.enable').each(function(){
       if ($(this).val().length == 0) checked = true;
    });
    $('#skipID').attr('checked', checked);
  });        
});

另一個jsfiddle: http//jsfiddle.net/MAVLy/8/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM