有很多关于如何使用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%工作,而在我的本地服务器上却没有。
(无论选择单选按钮,都会禁用这些框)
答案 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表单输入属性不带参数。您可以设置它,也可以不设置,因此为了修复代码,当您要启用该字段时,请完全删除已禁用的属性。