2011-04-19 5 views
2

나는의 ExtJS 체크 박스는 1을 기준으로 setValue의 0

, 내 양식 패널에 체크 박스가 그리고 내가 MySQL 데이터베이스의 ID를 기준으로 데이터를 편집해야하는 과정에있어 확인란 1 = 선택됨 0 = 선택 안 됨,

예를 들어 확인란의 필드 값을 가져와 조건부 절에 넣고 값이 1로 설정되어 있고 선택되지 않았 으면 확인란을 선택합니다. 0을 반환합니까? ... ...

답변

0

이 문제는 해결 된

필드 당 1 개 체크 박스를 사용하여, 전혀 문제! ...

확인란이 할당 된 필드 이름이 하나의 값을 반환 할 때 확인받을 것입니다

그것이

을!,이 없다

....

1

값이 문자열인지 모든 검사는 이벤트 검사를 고려하지 않습니다. 나는 고치기를 만들었다. Ext.onReady 앞에 추가하십시오.

 
Ext.override 
(
    Ext.form.Checkbox, 
    { 
     setValue:function(v){ 

      var checked = this.checked, inputVal = this.inputValue; 

      if(v === false) 
      { 
       this.checked = false; 
      } 
      else 
      { 
       this.checked = (v === true || v === 'true' || v == '1' || (v instanceof String) || (inputVal ? v == inputVal : String(v).toLowerCase() == 'on')); 
      } 

      if(this.rendered) 
      { 
       this.el.dom.checked = this.checked; 
       this.el.dom.defaultChecked = this.checked; 
      } 
      if(checked != this.checked) 
      { 
       this.fireEvent('check', this, this.checked); 
       if(this.handler) 
       { 
        this.handler.call(this.scope || this, this, this.checked); 
       } 
      } 
      return this; 
     } 
    } 
); 


{ 
    xtype:'checkbox', 
    fieldLabel:'Caption', 
    labelSeparator:':', 
    boxLabel:'LabelText', 
    name:'status', 
    inputValue:'0' 
} 

inputValue는 문자열 '0'이어야합니다. 체크 박스 설정으로 설정하는

관련 문제