【问题标题】:jquery change() works only once in a formjquery change() 在表单中只工作一次
【发布时间】:2017-11-24 20:34:09
【问题描述】:

我有一个关于 jQuery 的小脚本问题。我试图制作一个带有 2 个单选按钮和一个选择列表的表单。我希望如果用户单击列表,它将检查“电子邮件”,并且如果用户单击收音机“livredor”,则应检查收音机,我需要将其设为“自动检查”。

此代码仅适用一次。如果单选按钮被点击,它就会卡住。

$("#destinataires").change(function() {
  $('input[type=radio][name=choix][value=email]').attr('checked', true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<INPUT id="emailchoix" name="choix" type="radio" value="email">

<SELECT id="destinataires" name="contact" size="1">
    <option value="etienne">Étienne</option>
    <option value="michele">Michèle</option>
    <option value="thomas">Thomas</option>
    <option value="filou">Filou</option>
    <option value="mustapha">Mustapha</option>
</SELECT>

<INPUT id="livrechoix" type="radio" name="choix" value="livredor"> Livredor

【问题讨论】:

    标签: jquery forms list radio


    【解决方案1】:

    我建议使用 jQuery 的 prop() 来设置选中状态,而不是 attr()
    根据prop()的文档:

    属性通常会影响 DOM 元素的动态状态,而无需 更改序列化的 HTML 属性。示例包括值 输入元素的属性,输入的禁用属性和 按钮,或复选框的选中属性。 .prop() 方法 应该用于设置禁用和检查而不是 .attr() 方法。

    $("#destinataires").change(function() {
      $('input[type=radio][name=choix][value=email]').prop('checked', true);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <input id="emailchoix" name="choix" type="radio" value="email">
    
    <select id="destinataires" name="contact" size="1">
        <option value="etienne">Étienne</option>
        <option value="michele">Michèle</option>
        <option value="thomas">Thomas</option>
        <option value="filou">Filou</option>
        <option value="mustapha">Mustapha</option>
    </select>
    
    <input id="livrechoix" type="radio" name="choix" value="livredor" checked> Livredor

    如需更多技术解释,请参阅.prop() vs .attr()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      相关资源
      最近更新 更多