2011-02-06 4 views
0

프레임 워크 : 자바 스크립트, JqgridJavascript : 입력 매개 변수를 기반으로 요소에 액세스하는 방법?

아래 자바 스크립트 기능이 있습니다. 필드의 배열과 Jqgrid를받습니다. 필드의 필수 속성을 true로 설정합니다. 입력 문자열 'Required'를 전달하고 함수가 'Required'요소를 true로 설정하도록합니다. 이 방법을 사용하면 'Integer', 'Email'속성 등을 설정하는 데이 함수를 재사용 할 수 있습니다. Javascript에서 자바의 반사와 비슷한 기능을 찾고 있습니다. Javascript에서 그렇게 할 수있는 방법이 있다면 안내해 주시겠습니까?

 function setRequiredFields(fields, grid){ 
     for (var i = 0; i < fields.length; i++) { 
      var colProp = $(grid).getColProp(fields[i]);     
      getColPropEditRules(colProp).Required = true; 
      getColPropFormOptions(colProp).elmsuffix = " *";     
      $(grid).setColProp(fields[i], colProp); 
     } 
    } 
+0

이것은 JavaScript보다 jqGrid 문제이며, 관련 태그가 추가되었습니다. –

답변

0

내가 제대로 질문을 이해한다면, 당신이 필요로하는 모든이 "배열"구문입니다

function setRequiredFields(fields, grid, propertyName){ 
    for (var i = 0; i < fields.length; i++) { 
     var colProp = $(grid).getColProp(fields[i]);     
     getColPropEditRules(colProp) [propertyName] = true; 
     getColPropFormOptions(colProp).elmsuffix = " *";     
     $(grid).setColProp(fields[i], colProp); 
    } 
} 

당신이 찾고 있던 무엇인가요?

+0

감사합니다. @ 요리 키. 이것이 제가 찾고 있던 것입니다. – Jayaprakash

0

당신이

function setRequiredFields(fields, grid) { 
    for (var i = 0; i < fields.length; i++) { 
     var colProp = $(grid).jqGrid('getColProp',fields[i]); 
     if (typeof colProp.editrules === "undefined") { 
      colProp.editrules = {}; 
     } 
     colProp.editrules.required = true; 
     if (typeof colProp.formoptions === "undefined") { 
      colProp.formoptions = {}; 
     } 
     colProp.formoptions.elmsuffix = " *"; 
    } 
} 

은 아마 당신이 추가로 grid$(grid)을 줄일 수 있습니다 할 수 있습니다 필요한 기능의 수정 된 버전.

변경 사항에 대한 간단한 설명입니다. editrulesrequired 속성은 대문자없이 올바르게 작성해야합니다. 또한 getColProp 메서드는 해당 colModel 요소에 대한 참조를 반환하므로 setColProp을 추가로 사용할 필요가 없습니다.

+0

감사! 내 기능을 개선하기위한 @Oleg. 내 코드를 최적화하는 데 정말로 도움이되었습니다. 감사! 많이. – Jayaprakash

관련 문제