mirror of
https://github.com/Hopiu/jquery-mobile.git
synced 2026-04-11 18:01:01 +00:00
Merge pull request #1709 from shanag/checkboxradio-keyboard-fix
Allow checkboxes and radio buttons to be selected with the keyboard
This commit is contained in:
commit
4b40896b6a
1 changed files with 11 additions and 4 deletions
|
|
@ -58,13 +58,13 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, {
|
|||
}
|
||||
|
||||
self._cacheVals();
|
||||
|
||||
input.attr( "checked", inputtype === "radio" && true || !input.is( ":checked" ) );
|
||||
|
||||
input.prop( "checked", inputtype === "radio" && true || !(input.prop("checked")) );
|
||||
|
||||
// input set for common radio buttons will contain all the radio
|
||||
// buttons, but will not for checkboxes. clearing the checked status
|
||||
// of other radios ensures the active button state is applied properly
|
||||
self._getInputSet().not(input).removeAttr('checked');
|
||||
self._getInputSet().not(input).prop('checked', false);
|
||||
|
||||
self._updateAll();
|
||||
return false;
|
||||
|
|
@ -79,6 +79,13 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, {
|
|||
},
|
||||
|
||||
vclick: function(){
|
||||
// adds checked attribute to checked input when keyboard is used
|
||||
if ($(this).is(":checked")) {
|
||||
$(this).prop( "checked", true);
|
||||
self._getInputSet().not($(this)).prop('checked', false);
|
||||
} else {
|
||||
$(this).prop("checked", false);
|
||||
}
|
||||
self._updateAll();
|
||||
},
|
||||
|
||||
|
|
@ -125,7 +132,7 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, {
|
|||
|
||||
// input[0].checked expando doesn't always report the proper value
|
||||
// for checked='checked'
|
||||
if ( $(input[0]).attr('checked') ) {
|
||||
if ( $(input[0]).prop('checked') ) {
|
||||
label.addClass( $.mobile.activeBtnClass );
|
||||
icon.addClass( this.checkedicon ).removeClass( this.uncheckedicon );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue