Javascript 启用单选按钮上的输入框单击

Javascript 启用单选按钮上的输入框单击,javascript,jquery,Javascript,Jquery,下面是PHP中网格视图的代码 <table> <tr> <td> <input type="radio" name="planId" id="planId1" value="1"> <label for="planId1">Plan 1</label> </td> <td>$5 <label>per month</label></t

下面是PHP中网格视图的代码

<table>
  <tr>
    <td>
     <input type="radio" name="planId" id="planId1" value="1">
     <label for="planId1">Plan 1</label>
  </td>
  <td>$5 <label>per month</label></td>
  <td class="input-field col m6 subForm"><input type="number" name="monthTxt" id="monthTxt" class="planId1" min="1" maxlength="2" value="1" disabled></td>
</tr>
<tr>
  <td>
     <input type="radio" name="planId" id="planId2" value="1">
     <label for="planId1">Plan 2</label>
  </td>
  <td>$5 <label>per month</label></td>
  <td class="input-field col m6 subForm"><input type="number" name="monthTxt" id="monthTxt" class="planId2" min="1" maxlength="2" value="1" disabled></td>
</tr>
<tr>
  <td>
     <input type="radio" name="planId" id="planId3" value="1">
     <label for="planId1">Plan 3</label>
  </td>
  <td>$5 <label>per month</label></td>
  <td class="input-field col m6 subForm"><input type="number" name="monthTxt" id="monthTxt" class="planId1" min="1" maxlength="2" value="1" disabled></td>
 </tr>
 </table>
  • 使用最近的('tr')
  • 使用
    find()时使用输入类
  • 要选择数字类型,请使用
    “输入[类型=数字]”
  • $('input:radio')。更改(函数(){
    如果($(this).is(“:checked”))
    $(this).closest('table').find(“输入[type=number]”)。not(this).attr(“禁用”,true);
    $(this).closest('tr').find(输入[type=number]).attr(禁用),false);
    });
    
    
    计划1
    每月5元
    计划2
    每月5元
    计划3
    每月5元
    
  • 使用最近的('tr')
  • 使用
    find()时使用输入类
  • 要选择数字类型,请使用
    “输入[类型=数字]”
  • $('input:radio')。更改(函数(){
    如果($(this).is(“:checked”))
    $(this).closest('table').find(“输入[type=number]”)。not(this).attr(“禁用”,true);
    $(this).closest('tr').find(输入[type=number]).attr(禁用),false);
    });
    
    
    计划1
    每月5元
    计划2
    每月5元
    计划3
    每月5元
    
    那么像这样

    $('input:radio').change(function() {
        if($(this).is(":checked")) {
           $(this).parent("td").nextAll().eq(1).find("input:text").attr("disabled", false);
        }
    });
    
    这里尝试遍历下一个同级元素,而输入元素位于第二个同级元素td内,所以使用
    eq(1)

    这样

    $('input:radio').change(function() {
        if($(this).is(":checked")) {
           $(this).parent("td").nextAll().eq(1).find("input:text").attr("disabled", false);
        }
    });
    


    此处尝试遍历下一个同级元素,而输入元素位于第二个同级元素td内,因此请使用
    eq(1)

    当前代码有什么问题?如果只允许启用一个
    input
    ,那么这可能就是您要查找的。Thnx@NewToJS,这对我有用me@DhawalMhatre非常欢迎。当前代码出了什么问题?如果您只想启用一个
    输入
    ,那么这可能就是您正在寻找的。Thnx@NewToJS,这是有效的me@DhawalMhatre不客气,你好,这工作正常,但其他输入未被禁用。您指的是什么其他输入?你能更新html来显示你的意思吗@DhawalMhatreI已经更新了html,计划可以是任意数量的行,我的意思是它可以是计划1,计划2,计划3,计划4,计划5你所说的
    工作正常,但其他输入未被禁用是什么意思?
    @Dhawalmhattere如果我们选择计划1,则不止一个计划,其他计划输入文本应被禁用@guradioHello,这工作正常,但其他输入未被禁用你指的其他输入是什么?你能更新html来显示你的意思吗@DhawalMhatreI已经更新了html,计划可以是任意数量的行,我的意思是它可以是计划1,计划2,计划3,计划4,计划5你所说的
    是什么意思这很好,但其他输入没有被禁用
    @Dhawalmhattere是多个计划如果我们选择计划1,那么其他计划输入文本应该被禁用@guradio我如何使用React.js遍历同级元素?我刚刚接受了你的回答。谢谢。如何使用React.js遍历兄弟元素?我刚刚接受了你的回答。非常感谢。