Просмотр исходного кода

修复弹窗选择器多选模式下多选表单无效问题

jqh 4 лет назад
Родитель
Сommit
43015c4291

+ 7 - 4
resources/assets/dcat/extra/resource-selector.js

@@ -117,7 +117,7 @@
                 label = $this.data('label') || id,
                 exist = Dcat.helpers.isset(originalItems, id);
 
-            if ($this.prop('checked')) {
+            if ($this[0].checked) {
                 if (!exist) {
                     originalItems[id] = label;
                 }
@@ -197,17 +197,20 @@
 
         function bindCheckedDefaultEvent(iframeWin) {
             Dcat.ready(function () {
-                let $selectAll = $(layer.getChildFrame('.checkbox-grid .select-all', layerIdx));
+                let $selectAll = $(layer.getChildFrame('.checkbox-grid .select-all', layerIdx)),
+                    $checkboxed = getAllCheckboxes();
 
                 clickCheckedItems();
                 if (maxItem != 1) {
                     // 解决多选模式全选框无效问题
                     $selectAll.on('change', function () {
-                        getAllCheckboxes().trigger('change');
+                        setTimeout(function () {
+                            $checkboxed.trigger('change');
+                        }, 1)
                     });
                 }
 
-                getAllCheckboxes().on('change', function () {
+                $checkboxed.on('change', function () {
                     if (maxItem == 1) {
                         select($(this));
                     } else {

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/dist/dcat/extra/resource-selector.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/dist/dcat/extra/resource-selector.js.map


Некоторые файлы не были показаны из-за большого количества измененных файлов