jQuery를 사용하여 스도쿠 게임을 구현하고 있습니다. 나는 논리의 대부분을 구축했다. (이 마지막 조각을 얻은 후에도 여전히 리팩터링을 계획하고있다. 게시판을 생성 할 때마다 붙어 있습니다. 특정 입력란을 비활성화하고 싶습니다. 여기에 내가 보드를 구축하기 위해 사용하고 코드의 섹션은 다음과 같습니다jQuery를 사용하여 입력 상자를 조건부로 사용 불능으로 설정
var context = this;
$td = $('<td>')
.append($('<input>')
.data('row', i)
.data('col', j)
.data('region', region)
.val(function(){
var prefillValue = easyGame[i][j];
if(prefillValue !== -1){
context.currentMatrix.rows[i].push(prefillValue);
context.currentMatrix.columns[j].push(prefillValue);
context.currentMatrix.regions[region].push(prefillValue);
return prefillValue;
}
})
.on('keyup', $.proxy(this.validateInput, this))
.on('click', $.proxy(this.captureInput, this)));
높은 수준보기 : 무엇 일어나는 것은 나는 easyGame 변수에 저장된 배열의 배열을 가지고있다. 이 변수는 "쉬운"보드에 대해 미리 만들어진 번호 위치를 포함합니다.
각 행과 열의 easyGame 변수를 조회하고 값이 있으면 (일명 easyGame이 -1이 아닌 한) 현재 입력 상자의 값으로 설정합니다. 나는 밖으로 나가고있다. 조회가 -1로 돌아 오면 입력 값은 공백으로 남습니다.
위의 코드는 잘 작동합니다 (꽤 느리고 clunky하지만 와이어 프레임은 현재 있습니다).
내가 막히는 곳에서는 초기 빌드 (일명 위의 코드)에 값이있는 입력 상자 만 비활성화하려고합니다.
나는 이것을 overthink하고 있지만, 무효화 된 property.prop ('disabled', true)를 조건부로 적용하는 방법이 있다고 생각한다.
미리 감사 드리며 필요한 정보가 더 있으면 알려주세요.