Javascript 在其他文本输入字段中输入文本时启用复选框

Javascript 在其他文本输入字段中输入文本时启用复选框,javascript,jquery,input,checkbox,Javascript,Jquery,Input,Checkbox,通常他们会做另一件事:选中/取消选中复选框时启用/禁用文本输入字段,但我需要仅在用户在文本字段(开始日期)中输入一些文本时启用一组复选框(工作日)。所以,当用户未在输入字段中键入开始日期时,复选框仍必须禁用 我想我需要的是比这里更重要的行动: 请帮助我选择正确的jquery事件。添加类并禁用复选框 <checkbox class="checkbox_class" disabled > 在文本框上 <input type="text" onkeyup="javascript

通常他们会做另一件事:选中/取消选中复选框时启用/禁用文本输入字段,但我需要仅在用户在文本字段(开始日期)中输入一些文本时启用一组复选框(工作日)。所以,当用户未在输入字段中键入开始日期时,复选框仍必须禁用

我想我需要的是比这里更重要的行动:


请帮助我选择正确的jquery事件。

添加类并禁用复选框

<checkbox class="checkbox_class" disabled >

在文本框上

<input type="text" onkeyup="javascript: if($(this).val() != '') $('.checkbox_class').enable()" >

您可以使用
prop()
方法和
keyup
事件处理程序。请尝试以下操作:

$('input[name=other_name]').keyup(function(){
    if (this.value.length > 0) {
       $('input[name="others"]').prop('disabled', false)
    } else {
       $('input[name="others"]').prop('disabled', true)      
    }
})

或者正如Esailija正确建议的那样,您可以使用较短的版本:

$('input[name=other_name]').keyup(function(){
     $('input[name="others"]').prop('disabled', !this.value.length)
})

$('input[name=“others”]).prop('disabled',!this.value.length)
也可以,非常好,谢谢Raminson和Esailija,您的答案解决了问题。现在,当用户尝试选中复选框,但由于它被禁用而无法执行时,我想将此文本输入涂成红色(添加一些css类)。或者只是在复选框附近提示一些消息。或者我不能这样做,因为复选框被禁用,所有事件都无法使用它?再次感谢Raminson。我会添加css到,它会很酷!