2012-06-20 1 views
1

Brant Burnett의 jQuery UI 스피너 1.2를 사용하고 있습니다. 내 회 전자에 최소값 1과 최대 값 10을 지정하고 싶습니다. 그러나 회 전자를 기본값으로 설정하고 사용자가 조회하면 1, 그렇지 않으면 10으로 설정합니다. 그렇지 않으면 값을 null로 처리해야합니다.jQuery Spinner를 0보다 큰 기본값으로 공백으로 만들 수 없습니다.

여기에 catch가 있습니다. "min"값을 0으로 설정하면 원하는 동작을 얻습니다. 회 전자가 공백으로 시작됩니다. Up은 1로 가져오고 10으로 가져옵니다. 그러나 최소값을 0에서 1로 변경하면 회 전자의 기본값은 항상 1입니다. 회 전자에서 값을 선택하고 지우더라도 강제로 컨트롤에서 포커스가 손실 된 후 값이 1로 돌아갑니다.

그 이유는 누구입니까? 최신 버전으로 문제가 해결 되겠습니까? JS 파일을 수정해야합니까? 감사!

+0

같은 질문 플러그인 지원 영역에 더 적합 할 수 ... – Rafay

답변

2

jquery.ui.spinner 파일에서 546 행을 변경했습니다. "min"옵션을 반환하기 전에 값이 null이 아닌지 확인하는 조건을 추가했습니다. 이것은 나에게 내가 찾던 기본 "빈"행동을 갖게했다. 브랜트 버넷,이 플러그의 원래 작성자에게

(제공 : btburnett.com

_validate: function(value) { 
    var options = this.options, 
     min = options.min, 
     max = options.max; 

    if ((value == null) && !options.allowNull) 
     value = this.curvalue != null ? this.curvalue : min || max || 0; // must confirm not null in case just initializing and had blank value 

    if ((max != null) && (value > max)) 
     return max; 
    else if ((min != null) && (value < min) && (value != null)) 
     return min; 
    else 
     return value; 
}, 
관련 문제