Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 决定在运行时使字段只读的编辑组件_Javascript_If Statement_Titanium - Fatal编程技术网

Javascript 决定在运行时使字段只读的编辑组件

Javascript 决定在运行时使字段只读的编辑组件,javascript,if-statement,titanium,Javascript,If Statement,Titanium,我喜欢在钛上用Javascript制作iOS应用程序。问题是,我的代码中当前有很多if-else条件,根据文档的状态,这些条件使得输入字段可编辑和不可编辑。我想摆脱这些重复的代码,因此我考虑将这些代码分离到另一个文件中,然后执行一个require。我在每个输入元素上分配一个自定义属性,然后将元素的Id、状态和是否应为只读的标志传递给组件。这是正确的做法吗? 示例:这在我的代码中经常发生: function onGetItemsSuccess(result) if(result.status

我喜欢在钛上用Javascript制作iOS应用程序。问题是,我的代码中当前有很多if-else条件,根据文档的状态,这些条件使得输入字段可编辑和不可编辑。我想摆脱这些重复的代码,因此我考虑将这些代码分离到另一个文件中,然后执行一个require。我在每个输入元素上分配一个自定义属性,然后将元素的Id、状态和是否应为只读的标志传递给组件。这是正确的做法吗? 示例:这在我的代码中经常发生:

function onGetItemsSuccess(result)
  if(result.status == 2){   
    $("#inpPartnerName").attr('readonly',true);     
  }
  if(result.status == 5){   
    $("#inpMfgNo").attr('readonly',false);      
  }
}

function onGetAccountDetailsSuccess(result){
   if(result.status == 1){  
     $("#inpQuantity").attr('readonly',true);       
   }    
}

您可以创建仅具有常规验证功能的文件(比如帮助器或实用程序文件)。 e、 g

这可能是一个解决方案

好的,我喜欢: 在Utility.js中

function SetFieldReadability(selector, status){


var itemDetails = {
    modelName : {
        visibility : 'visible',
        readOnly : {
                1 : true, // Approved
                2 : false, // Draft
                3 : false, 
                5 : true    
            },
        isMandatory : false
    },
    description : {
        visibility : 'hidden',
        readOnly : {
                1 : false,
                3 : false,
                5 : true    
            },
        isMandatory : true          
    }
};

var attr = selector.attr('elemName');
    if(itemDetails[attr]){
        var isReadOnly = itemDetails[attr].readOnly[status];
        var isVisible = itemDetails[attr].visibility;
        selector.attr('readonly',isReadOnly);           
        selector.css('visibility',isVisible);
    }           

}
在我的working.js中

 SetFieldReadability($('#inpModelName'), 1);

试着看看Alloy,它让您从一开始就拥有非常好的MVC结构。还可以尝试发布一些示例代码,以便更好地解释。
 SetFieldReadability($('#inpModelName'), 1);