【问题标题】:Open a input text if checkbox is checked (JQuery)如果选中复选框,则打开输入文本(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 解决方案?

标签: html jquery checkbox


【解决方案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标签中,没有出现错误'-'
猜你喜欢
  • 2016-08-05
  • 1970-01-01
  • 2013-12-24
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 2017-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多