드롭 다운에 대한 자동 완성 값을 설정하는 키 값을 얻으려고합니다. 사용자는 "#currentSelectedLevel"필드에 "LOAN"을 입력하고 jQuery는 모든 ".episysFieldName"필드에 loansFields의 키를 채 웁니다.밑줄의 _.keys 함수는 배열의 키 값이 아닌 키의 numermic 인덱스 만 반환합니다.
if($("#currentSelectedLevel").val()=="LOAN"){
$(".levelFieldName").autocomplete('option', 'source', _.keys(loanFields));}
var loanFields = [
{"BALANCE": "MONEY"},
{"OPENDATE": "DATE"},
{"CLOSEDATE": "DATE"}
];
경고를 보낼 때 방금 값의 색인을 얻습니다. [0,1,2]. "BALANCE", "OPENDATE", "CLOSEDATE"를 반환해야합니다.
alert(_.keys(loanFields));
배열에서 문자열을 사용할 때 잘 작동하는 jQuery 코드가 있습니다.
참고 : 개체/키 값 쌍을 사용하기 시작한 이유는 앞으로 필드 유형 및 기타 속성을 알아야하기 때문입니다. 내 문제는 내가 배열 내에서 객체를 구조화하는 방법이라고 생각합니다. 어떤 도움이라도 대단히 감사하겠습니다.
일반 개체를'_.keys'에 전달해야합니다. '0','1','2'는 배열 키, 배열의 인덱스입니다. – undefined
'_.flatten (_. map (loanFields, _.keys))'는'[ "BALANCE", "OPENDATE", "CLOSEDATE"]'를 반환해야합니다. 코드 스 니펫을 읽기가 어렵다면 ['_.chain'] (http://underscorejs.org/#chain) 메소드를 사용할 수도 있습니다 :'_.chain (loanFields) .map (loanFields, _.keys) .latten(). value()' – undefined
네이티브 js :'loanFields.map (function (obj) {(var k in obj) return k;})'(IE 9+) 또는 밑줄'_.map()'. –