4

选中复选框时,我尝试使用 jquery 启用文本框。 我的页面 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">

有什么问题?

4

6 回答 6

14

改成

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

演示:小提琴

于 2013-02-08T06:26:50.293 回答
4

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

$('#isNews').change(function () {
    $("#newsSource").prop("disabled", !this.checked);
});
于 2013-02-08T06:28:52.357 回答
2

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

您在控制台中收到“未定义的变量 $”。始终注意控制台。

于 2013-02-08T06:27:28.290 回答
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>
于 2013-02-08T06:27:56.527 回答
0

这是您的正确代码

<script>
$(document).ready(function(){
  $('#isNews').click(function(){
    if($(this).is(":checked"))
       $("#newsSource").removeAttr("disabled");
    else
       $("#newsSource").atte("disabled" , "disabled");
});
});
</script>
于 2013-02-08T06:28:08.637 回答
0

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

于 2013-02-08T06:29:20.407 回答