Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 收音机的下一个/上一个按钮_Javascript_Jquery_Html_Radio - Fatal编程技术网

Javascript 收音机的下一个/上一个按钮

Javascript 收音机的下一个/上一个按钮,javascript,jquery,html,radio,Javascript,Jquery,Html,Radio,我正在尝试将“下一步”和“上一步”按钮添加到收音机样式的导航中 HTML 小提琴: 我的问题是上一个按钮不起作用,一旦手动调用选择或“单击”,下一个按钮就不再起作用。您应该使用单击而不是setAttribute来执行正确的操作: all.eq(index).click(); 此外,还需要检查索引是否大于或等于最大列表大小。如果是,则循环回第一个元素(0): 将“属性”更改为“属性”。。阿拉 这完全有效,但是,如果你不介意我问,你知道为什么setAttribute不起作用吗?这是因为一旦你设置了

我正在尝试将“下一步”和“上一步”按钮添加到收音机样式的导航中

HTML

小提琴:


我的问题是上一个按钮不起作用,一旦手动调用选择或“单击”,下一个按钮就不再起作用。

您应该使用单击而不是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');