Javascript 收音机的下一个/上一个按钮
我正在尝试将“下一步”和“上一步”按钮添加到收音机样式的导航中 HTML 小提琴:Javascript 收音机的下一个/上一个按钮,javascript,jquery,html,radio,Javascript,Jquery,Html,Radio,我正在尝试将“下一步”和“上一步”按钮添加到收音机样式的导航中 HTML 小提琴: 我的问题是上一个按钮不起作用,一旦手动调用选择或“单击”,下一个按钮就不再起作用。您应该使用单击而不是setAttribute来执行正确的操作: all.eq(index).click(); 此外,还需要检查索引是否大于或等于最大列表大小。如果是,则循环回第一个元素(0): 将“属性”更改为“属性”。。阿拉 这完全有效,但是,如果你不介意我问,你知道为什么setAttribute不起作用吗?这是因为一旦你设置了
我的问题是上一个按钮不起作用,一旦手动调用选择或“单击”,下一个按钮就不再起作用。您应该使用单击而不是setAttribute来执行正确的操作:
all.eq(index).click();
此外,还需要检查索引是否大于或等于最大列表大小。如果是,则循环回第一个元素(0):
将“属性”更改为“属性”。。阿拉
这完全有效,但是,如果你不介意我问,你知道为什么setAttribute不起作用吗?这是因为一旦你设置了一次属性,它就已经设置好了。下次您尝试设置它时,什么也没有发生,循环“冻结”。点击一下就会取消同一组中其他收音机的设置。谢谢@SamuelLiew,虽然我在下面读到了James的回复,但我想知道什么更好用?我已经准备好了,通常从另一个单击事件调用一个单击事件是不好的做法?
dayNavigation = function (direction) {
var all = $('.month-picker-fieldset input:radio');
var current = $('.month-picker-fieldset input:radio:checked');
var index;
if (direction == 'prev') {
index = all.index(current) - 1;
} else {
index = all.index(current) + 1;
}
all.eq(index).attr('checked', 'checked');
return false;
};
all.eq(index).click();
if(index >= all.size()) index = 0;
all.eq(index).prop('checked', 'checked');