I need to toggle an element ONLY if it is not disabled.
jQuery("#sbutton").toggle(
function () {
if (!jQuery(\'input[name^="choose"]\').attr ( "disabled" )) {
jQuery(\'input[name^="choose"]\').attr ( "checked" , true);
}
},
function () {
jQuery(\'input[name^="choose"]\').removeAttr("Checked");
}
)
Is the IF condition possible?
What you probably want to do (thanks Frédéric):
or simply
The problem with your code is that you expect the evaluation on disabled to be evaluated on every button click and use the first function if true. It’s only called on every other click though, and the other function doesn’t care if it’s disabled or not. It checks the check box no matter what. You have to either bind on the click event, like I’ve done, or bind to and unbind from the toggle event depending on whether or not the button is disabled.
In the future it would be easier to help you if you present your code as a fiddle (http://www.jsfiddle.net) and describe more thoroughly what you’re trying to do and what it is that’s not working.