我的jQuery Radioset在以编程方式更改radiobutton时不会删除checked-attribute。由于只能通过其自然行为选择一个单选按钮,因此我希望取消选中之前选择的按钮。我在这儿吗?
为了演示它,我创建了一个简单的jsfiddle: http://jsfiddle.net/nL8ksLwt/
HTML:
<div id="radioset">
<input type="radio" id="174928" name="freq">
<label value="174928" class="tooltip" for="174928">5A</label>
<input type="radio" id="176640" name="freq">
<label value="176640" class="tooltip" for="176640">5B</label>
</div>
<button id="trigger">Trigger Change Event 5A</button>
<button id="trigger2">Trigger Change Event 5B</button>
js:
$(function () {
$("#radioset").buttonset();
})
$('#trigger').click(function () {
$("#174928").attr('checked', true);
});
$('#trigger2').click(function () {
$("#176640").attr('checked', true);
});
我正在使用Firefox。在网页上它确实有效,但是如果你看一下firebug,你会发现checked-attribute仍然存在。这导致我的其他功能出现问题。
主要目标是以编程方式选择另一个单选按钮,以便一次只选择一个按钮(不触发更改事件)。 如何正确地做到这一点?
答案 0 :(得分:3)
尝试使用道具代替attr it ill work
JsFiddle:http://jsfiddle.net/nL8ksLwt/3/
$(function() {
$( "#radioset" ).buttonset();
})
$('#trigger').click(function(){
$("#174928").prop("checked", true);
});
$('#trigger2').click(function(){
$("#176640").prop("checked", true);
});
答案 1 :(得分:1)