如何回滚jquery按钮集
我有一个按钮集,带有一个更改事件。更改时,to事件调用ajax post来保存值。如果出现错误,我希望将buttonset设置回其初始状态 因此,我将初始状态保留在页面加载变量(inital)中。 如果ajax调用失败,在“error”函数中,我使用“initial”检查相应的按钮 问题是图形按钮集无法恢复到其初始值。 更糟糕的是,当我对这两个按钮发出警报时,我看到选中的属性设置正确,但没有反映在屏幕上 感谢您的帮助,因为我在谷歌上搜索了很多:-( JS代码:如何回滚jquery按钮集,jquery,html,ajax,Jquery,Html,Ajax,我有一个按钮集,带有一个更改事件。更改时,to事件调用ajax post来保存值。如果出现错误,我希望将buttonset设置回其初始状态 因此,我将初始状态保留在页面加载变量(inital)中。 如果ajax调用失败,在“error”函数中,我使用“initial”检查相应的按钮 问题是图形按钮集无法恢复到其初始值。 更糟糕的是,当我对这两个按钮发出警报时,我看到选中的属性设置正确,但没有反映在屏幕上 感谢您的帮助,因为我在谷歌上搜索了很多:-( JS代码: //keep initial bu
//keep initial buttonset checked value
var intial = $( '#radio :checked');
//on buttonset change, do a ajax post, and in case of failure, set original value back
$( "#radio" ).buttonset().change(function(){
$.post("/to/somewhere",{showList:'show', id:123})
.error(function(){
if (intial.val() == "show"){
$('#visibleYes').attr("checked", true);
}
else {
$('#visibleNo').attr("checked", true);
}
})
})
});
html代码
<div id="radio">
<input class="yesNoRadio" type="radio" id="visibleYes" name="visible" value="show" checked="checked"/><label for="visibleYes">Show</label>
<input class="yesNoRadio" type="radio" id="visibleNo" name="visible" value="hide" /><label for="visibleNo">Hide</label>
</div>
显示
隐藏
在更新增强元素的选中属性后,您应该启动按钮小部件:
$(intial.val() == "show" ? "#visibleYes" : "#visibleNo")
.prop("checked", true).button("refresh");
请注意,我使用了而不是,建议使用布尔属性,如checked
,正如您所知,您的JavaScript实际上是jQuery。@MattD,jQuery是JavaScript。它只是一个库,不是一种语言。@FrédéricHamidi我知道这一点,但如果他在写这篇文章时认为jQuery是JavaScript,那么他就不会引用它了如果不使用jQuery库,那么任何人为修复其代码所做的任何事情都不会起作用。可能应该在我的初始评论中注意到这一点。它起作用了…你救了我一天:-)我实际上是在用按钮集使劲玩,而我必须像你那样直接按按钮。谢谢lot@xavier如果这是您使用的解决方案,则应将其标记为已回答。