通过jQuery禁用单选按钮输入的最佳方法是什么?

通过jQuery禁用单选按钮输入的最佳方法是什么?,jquery,input,Jquery,Input,大家好。 我得到了一段代码: <div> <input id="id1" name="radioButton" type="radio"> <input type="text" id="idText1"> <p></p> <input id="id2" name="radioButton" type="radio"> <input type="text" id="idText2"

大家好。 我得到了一段代码:

<div>
    <input id="id1" name="radioButton" type="radio">
    <input type="text" id="idText1">
    <p></p>
    <input id="id2" name="radioButton" type="radio">
    <input type="text" id="idText2">

</div>

当我选择收音机id1时,我需要禁用idText2;当我选择收音机id2时,我需要禁用idText1。 有优雅的方式吗

问候
Massimo

我想您也要启用单选按钮旁边的文本框

$(function(){
  $('#id1, #id2').click(function(){
    $('#idText1')[0].disabled = (this.id != 'id1');
    $('#idText2')[0].disabled = (this.id != 'id2');
  });
});
您可能希望先选中一个单选按钮,然后禁用另一个文本框:

<div>
  <input id="id1" name="radioButton" type="radio" checked>
  <input type="text" id="idText1">
  <p></p>
  <input id="id2" name="radioButton" type="radio">
  <input type="text" id="idText2" disabled>
</div>


我想您也想启用单选按钮旁边的文本框

$(function(){
  $('#id1, #id2').click(function(){
    $('#idText1')[0].disabled = (this.id != 'id1');
    $('#idText2')[0].disabled = (this.id != 'id2');
  });
});
您可能希望先选中一个单选按钮,然后禁用另一个文本框:

<div>
  <input id="id1" name="radioButton" type="radio" checked>
  <input type="text" id="idText1">
  <p></p>
  <input id="id2" name="radioButton" type="radio">
  <input type="text" id="idText2" disabled>
</div>


和一个有趣的单衬里:)(除了包装之外


(除了包装外,还有一个一行的纸条。)


如果它是一个ID选择器,为什么“$”(“#idText1')[0]”会…`?当然只有一个了。@Ben,要进入实际的dom元素,而不是jQuery对象。。(因为他是直接访问disabled属性的,而不是通过jquery设置程序…)如果是ID选择器,为什么“$('#idText1')[0]”…`?当然只有一个了。@Ben,要进入实际的dom元素,而不是jQuery对象。。(因为他是直接访问disabled属性,而不是通过jquery setters…)