【问题标题】:What is the best way to disable an input with a radio button via jQuery?通过 jQuery 禁用单选按钮输入的最佳方法是什么?
【发布时间】:2010-03-25 18:04:35
【问题描述】:

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

<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。 有没有优雅的方法?

亲切的问候 马西莫

【问题讨论】:

    标签: jquery input


    【解决方案1】:

    还有一个有趣的单衬里:)(除了包装......

    $('div :radio').click(function(){
       $(this).siblings(':text').attr('disabled','disabled').end().next(':text').removeAttr('disabled');
    })
    

    【讨论】:

      【解决方案2】:

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

      $(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 setter.. )
      猜你喜欢
      • 2011-11-04
      • 2019-10-26
      • 2011-12-22
      • 2011-05-26
      • 2013-12-10
      • 1970-01-01
      • 2016-10-28
      • 2010-09-07
      • 2010-09-24
      相关资源
      最近更新 更多