그래서 거대한 개체를 만들었습니다. 데이터베이스 테이블을 통해 적절한 열 이름으로 모든 행을 수집합니다 (sx는 자바 스크립트로 출력되는 문자열 임) :자바 스크립트 개체 배열을 배열로 변환
(위 코드는 C# 코드이지만 오류는 javascript 부분입니다.)
내 목표는
http://jqueryui.com/demos/autocomplete/
htmltable += sx + "$('#mySearchBox').autocomplete({" +
"source: jQuery.makeArray(SearchAutocomplete['" + columnName + "'])" +
"});"
내가 jQuery.makeArray를 사용하여 시도 ... 열 이름을 기반으로 자동 완성() JQuery와 UI의 기능, 내부에 넣어이 거대한 객체를 사용하는 것입니다 ,하지만 내가 무엇을 시도해도 SearchAutocomplete [ 'columnName']을 값 배열로 인식하지 못합니다.
자동 완성 기능이 작동하지 않습니다.
나는 어쨌든 루프를 통해 객체를 배열로 다시 변환하는 것이 해결책이라고 생각합니다. 그러나 쉬운 방법이 있습니까? # 1를 해결하기 위해
시도 :
if(list_fields.ContainsKey(s.Key)){
if (i == 0)
{
sx += "SearchAutocomplete['"+ s.Key + "'] = [];";
}
sx += "SearchAutocomplete['" + s.Key + "'].push('" + s.Value + "');";
}
어쩌면 내가 누락되었지만 sx는 JavaScript의 문자열입니다. 맞습니까? 문자열을 JavaScript 배열 객체로 분할 할 필요가 없습니까? 일치 시키려면 .split와 좀 더 복잡한 정규 표현식을 함께 사용해야 할 것입니다. – Mark
@Mark :'sx'는 문자열입니다. 그러나 이것은 덱스터가 응답에 덤프 할 JS의 동적 생성 덩어리의 일부일뿐입니다. 브라우저에 올바르게 표시되어야합니다. –
배열은 내가 믿는 Array 문자처럼 보일 것입니다. '[{s.Key : s.Value}, {...}]'이며 배열 키 값 지정 문자열은 아닙니다. – Mark