easyui combobox 디 스 플레이 값 선별 loadFilter 방법
3279 단어 JSP
url 에서 표시 할 내용 을 가 져 오 는 다음 combobox 를 만 듭 니 다.
url:'combobox_data.json'"/>
하지만 업무 상 제 이 슨 의 일부 필드 만 표시 하고 싶 을 수도 있 습 니 다.이 럴 때 는 loadFilter 방법 이 필요 합 니 다.js 코드 는 다음 과 같 습 니 다. 페이지 를 불 러 올 때 url 의 값 을 가 져 오고 모두 표시 합 니 다.
$(document).ready(function() {
//
$.ui.combogrid.org(".org_id");
$("#cbb").combobox({
loadFilter:function(data){
return data;
}
});
});
하지만 그 중의 일 부 를 표시 해 야 합 니 다. 이렇게 할 수 있 습 니 다.조건 에 따라 data 에서 원 하지 않 는 값 을 삭제 하고 data 로 돌아 갑 니 다.이렇게 하면 자신 이 원 하지 않 는 것 을 없 앨 수 있다.$(document).ready(function(){
$("#cbb").combobox({
loadFilter:function(data){
for(var i in data){
if(data[i].value == "1"){
data.splice(i,1);
}
}
return data;
});
});
splice () 방법 은 index 에서 시 작 된 0 개 이상 의 요 소 를 삭제 하고 매개 변수 목록 에서 설명 한 하나 이상 의 값 으로 삭 제 된 요 소 를 대체 할 수 있 습 니 다.위의 코드 에서 i 곳 의 요 소 를 삭제 합 니 다.콤 보 박스 는 팝 업 상자 에 놓 여 있 고 기능 의 수요 에 따라 같은 콤 보 박스 가 서로 다른 드 롭 다운 값 을 표시 해 야 하기 때 문 입 니 다.
이 럴 때 삭제 하면 loadFilter 를 중복 호출 하면 splice 방법 을 계속 사용 하면 요소 가 부족 한 data 에서 계속 삭제 하 는 것 과 같 습 니 다.이렇게 하면 원 하 는 효과 에 이 르 지 못 한다.
필 자 는 이 를 바탕 으로 삭제 하기 전에 다른 배열 에 할당 한 값 을 생각 했 는데 결 과 는 실패 로 끝났다. 직접 할당 하기 때문에 다음 과 같다.
var data1 = data;
그러나 이러한 할당 값 은 data 1 이 data 가 가리 키 는 배열 을 직접 가리 키 기 때문에 data 가 삭제 하면 data 1 도 삭 제 된 요 소 를 가리킨다.직접 할당 은 얕 은 복사 이 고 얕 은 복사 라면 배열 요소 가 변 하지 않 은 수 요 를 만족 시 킬 수 없습니다.그러나 이렇게 되면 저 에 게 value 가 존재 하지 않 는 다 는 것 을 알려 줄 것 입 니 다. 나중에 제 가 페이지 를 불 러 올 때 loadfilter 방법 으로 모든 url 의 값 을 불 러 와 야 한 다 는 것 을 알 게 되 었 습 니 다.종합 은 다음 과 같다.
$(document).ready(function() {
//
$.ui.combogrid.org(".org_id");
$("#cbb").combobox({
loadFilter:function(data){
return data;
}
});
});
$("#business_processe").combobox({
loadFilter:function(data){
var data1 = [];
for(var i in data)
{
if(data[i].value==1)
{
data1.push(data[i]);
}
if(data[i].value==3)
{
data1.push(data[i]);
}
}
return data1;
}
});
그러면 loadFilter 방법 을 직접 다시 호출 할 수 있 습 니 다. 다음 과 같 습 니 다. $("#business_processe").combobox({
loadFilter:function(data){
var data1 = [];
for(var i in data)
{
//
if(data[i].value==4)
{
data1.push(data[i]);
}
if(data[i].value==6)
{
data1.push(data[i]);
}
}
return data1;
}
});
나중에 동료의 지 도 를 받 아 조건 항 은 다음 과 같이 간소화 할 수 있다. $("#business_processe").combobox({
loadFilter:function(data){
var data1 = [];
for(var i in data)
{
// ,-1
if("13".indexOf(data[i].value)>-1)
{
data1.push(data[i]);
}
}
return data1;
}
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
VScode에서 MVN, Tomcat, JSP/Servlet에서 웹 앱 개발 메모Java와 maven 설치 ( ) 플러그인을 VScode에 설치 Tomcat DL ( ) ※ 환경에 따라 Tomcat 버전을 선택하십시오 Tomcat을 DL하면 zip을 압축 해제하고 모든 디렉토리에 넣습니다. ma...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.