2011-08-30 4 views
0

나는 콧수염 JS 템플릿을 동적으로 사용하려고합니다.콧수염 JS 템플릿 및 알 수없는 속성

var tmpls = [ 
    '<p>{{name}}</p>', 
    '<p><b>{{car}}</b></p>' 
]; 

을하고 뭔가의 인덱스 ... 내가 같이 할 수에 따라 올바른 템플릿을 선택하려면 : 그래서 같은 템플릿의 배열을해야합니다

var stuff = { 
     name: 'bob' 
} 

$.mustache(tmpls[index], stuff); 

하지만, I는 입력 ID 및 값으로 다른 일을 기준으로 값을 입력하는 방법을 아주 확실하지 않다 :

<input type="text" id="name" value="Bob" /> 
<input type="text" id="car" value="Corsa" /> 

$.mustache(tmpls[index], { 
    $('input').eq(0).attr('id') : $('input').eq(0).val() 
}); 

내가 동적으로 콧수염을 전달하는 객체를 만들려고 해요 같아요. 속성 이름은 입력 필드의 ID이고 값은 입력 필드의 값입니다.

이것이 가능합니까?

감사합니다, 돔

답변

1
물건 객체를 구축하는 한 가지 방법은 .each() 사용하여 요소를 반복하는 것입니다

:

var stuff = {}; 

$('input').each(function() { 
    stuff[$(this).attr('id')] = $(this).val(); 
}); 

$.mustache(tmpls[index], stuff); 
+0

아 그래 물론 ... 결국 내가 문자열을 만드는 시도하고 그런 다음 생성 한 문자열에 $ .parseJSON을 사용하여 전달했습니다. 나는 매개 변수 이름을 만드는 연관 배열처럼 그것을 생각하지 않았다 ... 감사 : D 조 –

관련 문제