2013-01-15 1 views
1

I가 다른 페이지에서 나오는 다음 직렬화 된 데이터 문자열 (즉, '브랜드'가 반복되는 이유 때문에 내용 중 일부는 체크 박스에서입니다) :어떻게 데이터를 jQuery로 직렬화 한 다음 div를 채울 수 있습니까?

brand=Ford&brand=Dodge&brand=Mazda&year=2013&type=compact

내가 사업부를 채우는 싶습니다 "결과"의 ID와 태그 :

$.each(SelectionData.split('&'), function (index, elem) {  
    var vals = elem.split('=');  
    $('#' + vals[0]).text(decodeURIComponent(vals[1].replace(/\+/g, ' ')));  
}); 
: 저는 현재 데이터에 루프에이 코드를 사용하고

<div id="results">  
    <div id="brand"></div>  
    <div id="year"></div>  
    <div id="type"></div>  
</div> 

양식에 체크 박스를 추가 할 때까지 제대로 작동했습니다. 지금은 이름이 여기 쇼와 같은 경우 문자열에서 마지막 값을 표시 할 경우에만 수 있어요 :

이것은 우리가이 우리가 찾고있는 지금

<div id="results"> 
    <div id="brand">Mazda</div>  
    <div id="year">2013</div>  
    <div id="type">compact</div>  
</div>  

이 무엇 대한 : 당신이 결과를 포맷 할 이유 사업부가 results라고하지만 코드를 가진 요소의 텍스트를 변경하려고 내부

<div id="results"> 
    <div id="brand">Ford,Dodge,Mazda</div>  
    <div id="year">2013</div>  
    <div id="type">compact</div>  
</div> 

답변

2

내가 이해가 안 돼요 id는 uri 매개 변수 이름의 이름과 동일합니다.

어쨌든 나는 당신이하고 싶은 것을 알아 냈다고 생각합니다. Working Demo

html로 :

<div id="brand"></div> 
<div id="year"></div> 
<div id="type"></div> 

강령 : 관해서

var SelectionData = 'brand=Ford&brand=Dodge&brand=Mazda&year=2013&type=compact'; 

$.each(SelectionData.split('&'), function (index, elem) { 
    var vals = elem.split('='); 
    var $div = $("#"+vals[0]); 
    var separator = ''; 
    if ($div.html().length > 0) { 
     separator = ', '; 
    } 
    $div.html($div.html() + separator + decodeURIComponent(vals[1].replace(/\+/g, ' '))); 
}); 
+0

은 "왜"뒤에, 클라이언트는에 계속하기 전에 화면에 사용자 선택을 표시 요구하고있다 다음 페이지. – HPWD

+0

','separator = ','; 뒤에 공백이 잘 붙습니다. – HPWD

+0

@dlackey 잘됐지만, 주목할 것은 코드가'# brand' 또는'# year'라고하는 요소의 텍스트를 변경하려하지만 원하는 결과가'# results'라는 요소 내에 포함되어 있다는 것입니다. –

관련 문제