diff --git a/src/modules/table.js b/src/modules/table.js index f3447cfe..5fbad75c 100644 --- a/src/modules/table.js +++ b/src/modules/table.js @@ -1593,16 +1593,12 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){ radio: 'layTableRadio', checkbox: 'layTableCheckbox' }[opts.type] || 'checkbox') +'"]:not(:disabled)'); - var checkedSameElem = checkedElem.last(); - if (opts.type === 'radio' && checkedSameElem.parents(ELEM_FIXR)[0]) { - if (checkedSameElem.parents(ELEM_FIXR).hasClass('layui-hide')) { - checkedSameElem = checkedElem.first(); - } - checkedSameElem.prop('checked', true); - } else { - checkedElem.prop('checked', getChecked(checkedSameElem.prop('checked'))); - } + var fixRElem = checkedSameElem.closest(ELEM_FIXR); + + ( opts.type === 'radio' && fixRElem.hasClass(HIDE) + ? checkedElem.first() + : checkedElem ).prop('checked', getChecked(checkedSameElem.prop('checked'))); that.syncCheckAll(); that.renderForm(opts.type);