File tree Expand file tree Collapse file tree 2 files changed +30
-13
lines changed Expand file tree Collapse file tree 2 files changed +30
-13
lines changed Original file line number Diff line number Diff line change @@ -21,18 +21,24 @@ const getValue = (element) => {
2121 let suffix = element . getAttribute ( 'value-suffix' ) || "" ;
2222
2323 if ( element . type === "checkbox" ) {
24- let el_name = element . getAttribute ( 'name' ) ;
25- let checkboxs = document . querySelectorAll ( `input[type='checkbox'][name='${ el_name } ']` ) ;
26- if ( checkboxs . length > 1 ) {
24+ let inputs = [ element ]
25+ let name = element . getAttribute ( 'name' ) ;
26+ if ( name )
27+ inputs = document . querySelectorAll ( `input[type="${ el . type } "][name="${ name } "]` ) ;
28+
29+
30+ if ( inputs . length > 1 ) {
2731 value = [ ] ;
28- checkboxs . forEach ( el => {
32+ inputs . forEach ( el => {
2933 if ( el . checked )
3034 value . push ( el . value ) ;
3135 } ) ;
32- }
33- else {
34- if ( el . checked )
35- value = el . value
36+ } else {
37+ if ( element . checked )
38+ value = element . value || 'true'
39+ else if ( ! element . value )
40+ value = 'false'
41+
3642 }
3743 } else if ( element . type === 'radio' ) {
3844 let name = element . getAttribute ( 'name' ) ;
Original file line number Diff line number Diff line change @@ -26,13 +26,24 @@ const setValue = (el, value) => {
2626 if ( isCrdt == "true" || el . type === 'file' ) return ;
2727
2828 if ( el . type == 'checkbox' ) {
29+ let inputs = [ el ]
2930 let name = el . getAttribute ( 'name' ) ;
30- let inputs = document . querySelectorAll ( `input[type="${ el . type } "][name="${ name } "]` ) ;
31+ if ( name )
32+ inputs = document . querySelectorAll ( `input[type="${ el . type } "][name="${ name } "]` ) ;
33+
3134 for ( let i = 0 ; i < inputs . length ; i ++ ) {
32- if ( value . includes ( inputs [ i ] . value ) )
33- inputs [ i ] . checked = true ;
34- else
35- inputs [ i ] . checked = false ;
35+ if ( inputs [ i ] . value ) {
36+ if ( value . includes ( inputs [ i ] . value ) )
37+ inputs [ i ] . checked = true ;
38+ else
39+ inputs [ i ] . checked = false ;
40+ } else {
41+ if ( value === 'true' || value === true || value === 'checked' )
42+ inputs [ i ] . checked = true ;
43+ else
44+ inputs [ i ] . checked = false ;
45+
46+ }
3647 }
3748 }
3849 else if ( el . type === 'radio' ) {
You can’t perform that action at this time.
0 commit comments