소스 검색

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

jqh 4 년 전
부모
커밋
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


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.