我有一个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
答案 0 :(得分:0)
我建议使用jQuery的prop()
来设置检查状态,而不是attr()
。
根据{{3}}的文档:
属性通常会影响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()
。