故障排除jquery启用/禁用基于radiobutton的文本框

时间:2014-03-14 00:52:15

标签: javascript jquery html

有很多关于如何使用jquery基于单选按钮选择启用文本字段的帖子。来源:Disable/enable text field with radio button (jQuery)

我没有使用javascript的经验,我无法使这些示例中的任何一个工作。

我尝试过通过jfiddle提供的多个示例,但它们无法在我的应用上运行。

所以,一份清单: 1)javascript一般工作,因为我有复制和粘贴日期选择器小部件,工作得很好。 2)我的标签包裹着代码片段 3)无论是身体还是头部都没有区别。

这是我正在使用的示例代码 在视图中(这是codeigniter)

<script src="//code.jquery.com/jquery-1.9.1.js">
//enable a box if the radio button is selected

$('input[name="radioknof"]').on('click', function() {
$(this).next().prop('disabled',false).siblings('input[type=text]').prop('disabled',true);
});
</script>

<input type="radio" name="radioknof" value="text1"/>
<input type="text" id="id1" disabled="disabled"/><br/><br/>
<input type="radio" name="radioknof" value="text2"/>  
<input type="text" id="id2" disabled="disabled"/>

显然我错过了一些像语法错误一样简单的东西......但我不能为我的生活看到它。我不明白为什么jfiddle 100%工作,而在我的本地服务器上却没有。

(无论选择单选按钮,都会禁用这些框)

3 个答案:

答案 0 :(得分:1)

你的<script src="//code.jquery.com/jquery-1.9.1.js">里面有代码。你应该有更多的东西:

  <script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>
  <script type='text/javascript'>
    // put your code in here
  </script>
</body>
</html>

要么在load内使用<head>事件。您无法定义src并将代码放在<script>标记内。我个人也会使用另一个外部src作为您的其他标记,因此它会被缓存到您的客户端浏览器内存中。

答案 1 :(得分:1)

解决了......正如我所提到的,我没有经验,所以我回到了jfiddle示例并查看了底层代码并找到了额外的行$(window).load(function(){和结束{{1} }在末尾。

完整的代码如下。

});

答案 2 :(得分:0)

禁用的HTML表单输入属性不带参数。您可以设置它,也可以不设置,因此为了修复代码,当您要启用该字段时,请完全删除已禁用的属性。