【发布时间】:2012-02-13 04:45:05
【问题描述】:
它不起作用,但如果我注释掉uncheck.removeAttr('checked'),它就会起作用! 我哪里出错了?
以小 HTML 为例:
<input type="radio" name="type" value="duration" checked="true" />
<select id="duration" class="duration">
<option value="P30D">30 giorni</option>
<option value="P1Y">365 giorni</option>
</select>
<input type="radio" name="type" value="interval" />
<select id="year">
<?php foreach($years as $y) : ?>
<option value="<?php echo $y->k; ?>">
<?php echo $y->v; ?>
</option>
<?php endforeach; ?>
</select>
jQueryclick()函数事件:
$('select').click(function() {
var check = $('input[type="radio"][value="duration"]');
var uncheck = $('input[type="radio"][value="interval"]');
if(!$(this).hasClass('duration')) {
var old = check;
check = uncheck;
uncheck = old;
}
check.attr('checked', true); // Same: .attr('checked', 'checked')
uncheck.removeAttr('checked');
})
【问题讨论】:
-
您不需要需要从其他元素中删除 'checked' 属性。它们是同名的无线电输入 - 无论如何,互斥性将由浏览器处理。
标签: jquery forms jquery-selectors radio-button