选中复选框时启用文本框

时间:2013-02-08 06:24:38

标签: jquery

我在选中复选框时尝试使用jquery启用文本框。 my page jquery的:

<script>
$(document).ready(function(){
  $('#isNews').change(function(){
    $("#newsSource").prop("disabled",false);
});
});
</script>

HTML:

<label class="checkbox">
    <input type="checkbox" id="isNews" name="isNews">If you want send news:
</label>
<label for="newsSource" class="ilable">news source</label>
<input id="newsSource" name="newsSource" class="input-xlarge" disabled="" type="text" placeholder="news source">

问题是什么?

6 个答案:

答案 0 :(得分:13)

更改为

$('#isNews').change(function(){
   $("#newsSource").prop("disabled", !$(this).is(':checked'));
});

演示:Fiddle

答案 1 :(得分:4)

除了与不包含jQuery相关的错误之外,请将代码更改为:

$('#isNews').change(function () {
    $("#newsSource").prop("disabled", !this.checked);
});

答案 2 :(得分:2)

我不会说阿拉伯语,但是在之后的所有脚本中都包含了jQuery 。您需要首先包含jQuery

您在控制台中收到“Undefined variable $”。一定要注意控制台。

答案 3 :(得分:0)

你遇到的错误是

$ is not defined

所以你可能没有加载jquery .. :)。

<head>代码

中添加此内容
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

答案 4 :(得分:0)

这是您正确的代码

<script>
$(document).ready(function(){
  $('#isNews').click(function(){
    if($(this).is(":checked"))
       $("#newsSource").removeAttr("disabled");
    else
       $("#newsSource").atte("disabled" , "disabled");
});
});
</script>

答案 5 :(得分:0)

我打开了你给出的链接。在您的页面源中,问题是您在jquery代码之后包含jquery。尝试在document.ready代码之前添加它。