4

如果用户取消选中复选框并更改文本框的背景颜色,我想禁用文本框。如果用户选中该复选框,则该文本框应该是可编辑的并更改为白色。这是代码

$(document).ready(function () {
    $(".ba").click(function () {
        $(".tex").css("background-color", "#CCCCCC");
    });
});

其中.ba是复选框,.tex是文本框类,现在当用户单击它时,它会变为灰色,但如果他们再次单击颜色不会改变。我想看看复选框是否被选中,如果它被选中,那么什么都不应该如果用户取消选中复选框,则文本框背景颜色应该更改并且它应该进入禁用的不可编辑状态。任何人都可以帮忙吗?

我正在使用下面的 javascript 来检查所有并取消选中所有

function checkAll(formname, checktoggle) {
    var checkboxes = new Array(); 
    checkboxes = document[formname].getElementsByTagName('input');

    for (var i=0; i<checkboxes.length; i++)  {
        if (checkboxes[i].type == 'checkbox')   {
            checkboxes[i].checked = checktoggle;
        }
    }
}

这会导致任何问题吗?

4

4 回答 4

5

工作 jsFiddle 演示

考虑以下标记:

<input type="checkbox" class="ba" checked="checked" />
<input type="text" class="tex" />

还有你的 JS:

$(function () {
    $('.ba').on('change', function () {
        var checked = $(this).prop('checked');
        $('.tex').prop('disabled', !checked);
    });
});
于 2013-05-25T10:04:32.497 回答
3

这是JS代码

$(".ba").click(函数 () {
    if ($(".ba").is(":checked")) {
        $(".tex")
            .removeAttr("已禁用")
            .css("背景色", "白色");
    }
    别的 {
        $(".tex")
            .attr("禁用", "禁用")
            .css("背景色", "红色");
    }
});

我建议您查看Jquery API。这是一个有趣的阅读:)

于 2013-05-25T10:08:58.870 回答
1

试试喜欢

$(".ba").on('click',function() {
   if($(this).is(':checked'))
       $(".tex").css("background-color","#CCCCCC");
   else
       $('.tex').prop('disabled', false);
})'
于 2013-05-25T10:05:18.703 回答
1
$(document).ready(function(){
$(".ba").click(function() {
if ($('#check_id').is(":checked"))
{
  $(".tex").css("background-color","#CCCCCC");
}
else
{
   $(".tex").css("background-color","#DDDDDD");
}
});
});
于 2013-05-25T10:09:30.363 回答