layer.open({ type: 2,//Layer提供了5種層類型。可傳入的值有:0(信息框,默認)1(頁面層)2(iframe層)3(加載層)4(tips層) title: '養護決策-編輯', maxmin: true, //開啟最大化最小化按鈕 area: ['800px', '624px'],//編輯框尺寸 fixed: false, //不固定 content: 'edit?decisionId=' + data.decisionId, success:function (layero,index){ let disfield=['a0110','a0103','a0203','mileage','maintainArea','budget'] //數組中的字符串是layui的name值 也就是要禁用的輸入框和select多選框 disabledInput(disfield,index)
}, });
1 function disabledInput(fieldName,index){// (['',''],index) 2 //用於禁用layer.open打開的頁面中的input 寄托於彈出層成功函數success index是打開頁面的彈出層索引 disfiled是要禁用的Input以及select-tree的name名字 必須是個數組 3 let body=layer.getChildFrame('body',index); //獲取到layer.oepn打開的子頁面結構 4 for(let i=0;i<fieldName.length;i++){ //利用find查找 找到數組中我們需要禁用的元素 5 if(body.find("input[name="+fieldName[i]+"]").hasClass('xm-select-default')){//判斷是輸入框還是select選擇框 如果是slect選擇框 那么我們需要把它替換為input輸入框 因為select選擇框 無法禁用 6 body.find("div[id="+fieldName[i]+"]").replaceWith('<input type="text" name='+fieldName[i]+' readonly class="input-readonly layui-input">'); 7 }else{ 8 body.find("[name="+fieldName[i]+"]").addClass('input-readonly').attr('readonly',true);//設置禁用屬性 這里用readonly或者disabled都可以 添加類名 input-readonly 設置樣式 border:none,backgorund:#efefef 9 } 10 } 11 }