layer.open 彈出層中打開的表單頁面如何禁用部分輸入框


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 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM