如何在填写多个文本框后自动取消选中复选框?

时间:2013-01-03 00:32:25

标签: javascript textbox jsfiddle

我尝试使用此

<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上运行,并且只有当我使用一个文本框时,我才希望仅在填充三个文本框后自动取消选中该复选框。 / p>

1 个答案:

答案 0 :(得分:0)

这里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);
  });        
});

替代解决方案。这适用于班级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/