如果选中复选框,则打开输入文本(JQuery)

Posted

技术标签:

【中文标题】如果选中复选框,则打开输入文本(JQuery)【英文标题】:Open a input text if checkbox is checked (JQuery) 【发布时间】:2021-07-16 10:30:35 【问题描述】:

我正在尝试创建一个在复选框被选中时才打开的输入。

<script>
if ($('#flexCheckDefault').is(':checked')) 
    $('#test').prop('disabled')

</script>

<input type="checkbox" id="flexCheckDefault">
<input type="text" id="test" disabled>

我已经尝试过了,但没有成功。请帮帮我!

【问题讨论】:

你可以为 disabled 属性设置一个值,见这里api.jquery.com/prop 为什么不为此使用纯 CSS 解决方案? 【参考方案1】:

你可以这样做:

$('#flexCheckDefault').change(function() 
  $('#test').prop('disabled', !$(this).is(':checked'))
);

您的代码的问题是当复选框更改时您不执行任何操作,因此您需要使用.change() 事件。

同样在.prop('disabled') 你应该告诉它是否应该被禁用。喜欢$('#test').prop('disabled', !$(this).is(':checked'))

演示

$('#flexCheckDefault').change(function() 
  $('#test').prop('disabled', !$(this).is(':checked'))
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="flexCheckDefault">
<input type="text" id="test" disabled>

【讨论】:

我还是不明白...为什么它对你有用?这是我的代码: @AlisonJuliano 你什么时候加载脚本? “何时”是什么意思?我加载这个脚本就像我在 cmets 中粘贴这里一样。 @AlisonJuliano 有些人在正文的结束标记之前将脚本加载到其他标题中。控制台中是否还有任何错误? 所有脚本都在body标签中,没有出现错误'-'

以上是关于如果选中复选框,则打开输入文本(JQuery)的主要内容,如果未能解决你的问题,请参考以下文章

如果选中复选框,则获取下一个输入[文本]

如果选中,则更改复选框旁边的文本。 HTML + JS 或 jQuery [关闭]

如果选中某些复选框,则 jquery 验证表单输入

如果选中任一复选框,则启用和禁用文本字段

我有多个复选框和多个文本输入。如果复选框被选中,则需要启用它旁边的文本输入

如果 php 和 jQuery 选中或未选中,则在 php 中动态创建复选框值