我有一组单选按钮(从原始 HTML 大大简化):
<form action="javascript:;" id="signup-form">
<div id="first">
<label class="custom-radio">
<input type="radio" name="delivery-mode" value="normal">
</label>
<label class="custom-radio">
<input type="radio" name="delivery-mode" value="scheduled">
</label>
</div>
</form>
当我单击第一组中的单选按钮时,我希望第二组中的相应单选按钮也被选中。
<div id="second">
<label class="custom-radio">
<input type="radio" name="delivery-mode" value="normal">
</label>
<label class="custom-radio">
<input type="radio" name="delivery-mode" value="scheduled">
</label>
</div>
我尝试使用这个 jQuery 函数来做到这一点:
$('#first').on('click', '.custom-radio', function() {
var selector;
if ($this.find('[value="scheduled"]').is(':checked')) {
selector = '[value="scheduled"]';
} else {
selector = '[value="normal"]';
}
var radio = $('#second').find(selector);
var cRadio = radio.parent();
cRadio.click();
cRadio.addClass('active');
radio.prop('checked', true);
});
$('#second').on('click', '.custom-radio', function() {
//console.log('hello');
var value = $(this).find('input').val();
console.log(value);
});
我知道我在第二组单选按钮中正确找到了相应的单选标签,因为单击工作正常。
但是,将“活动”类添加到标签不起作用,也不能设置单选按钮的选中属性。我能够做其他事情,比如修改单选按钮的值或将类更改为“活动”以外的其他内容。但由于某种原因,我不能做这两件事来表明单选按钮已被选中。
我究竟做错了什么?请帮忙。:-)