드롭 다운을 사용하지 않도록 설정하는 가장 간단한 방법은 buildSelect
이벤트를 dataUrl
에 추가로 editoptions에 사용하는 것입니다. dataUrl
에 의해 반환 된 데이터가 이미 올바른 양식이있는 경우 buildSelect
는 다시 입력 매개 변수를 반환 할 수 있습니다, 그러나 사람은 추가로
당신은 모든 콜백은 항상 호출됩니다 있는지 확인하기 위해 양식 recreateForm:true
를 사용해야 해제 할 수 있습니다. 코드 스키마는 다음과 같을 수 있습니다.
var needDisable=true;
$("#list").jqGrid({
colModel:[
{name:'myDropDown',editable: true,edittype:"select",
editoptions:{dataUrl:'myDropDown.txt',
buildSelect: function(data) {
var field_id=this.id; // "myDropDown"
setTimeout(function(){
if (needDisable) {
$('#tr_'+field_id).attr('disabled','disabled');
} else {
$('#tr_'+field_id).removeAttr('disabled');
}
}, 100);
return data;
}
},
// ... other colModel columns
],
// ... other jqGrid parameters
}).jqGrid('navGrid','#pager',{},
{ // Edit form parameters
recreateForm:true,
beforeShowForm:function(form){
needDisable=true;
}
},
{ // Add form parameters
recreateForm:true,
beforeShowForm:function(form){
needDisable=false;
}
});
@Angelinux :
내 솔루션은 자바 스크립트에서 재귀와의 setTimeout의 조합으로 당신을 환영합니다! 15 포인트의 평판에서 시작하여 도움이되는 질문이나 답변을 투표 할 권한이 있습니다 (자세한 내용은 http://stackoverflow.com/faq#howtoask 참조). 이 기능을 사용하면 다른 사람들이 stackoverflow에 대한 정보를보다 효과적으로 검색 할 수 있습니다. – Oleg