2011-09-09 8 views
0

먼저, 모호한 제목에 대해 사과하고 싶습니다. 둘째로, 나는 jQuery의 초보자입니다.오브젝트의 값을 다른 오브젝트의 이름으로 사용하기

두 개의 값 ("taget1"및 "target2")이있는 드롭 다운이 있습니다. 페이지로드시 각 대상 (target1 = google.com 및 target2 = gmail.com)에 대한 URL로 localStorage를 설정합니다.

드롭 다운이 변경되면 localStorage (lastSelection = target2)에 "lastSelection"var을 설정합니다.

이제 localStorage에서 관련 URL을 얻고 싶습니다. 그래서 "target2"로 변경하면 localStorage에서 저장된 URL을 가져 오려고합니다. "if"를 사용하는 대신 드롭 다운의 val()을 사용할 수 있다고 생각했습니다.

이 작동하지 않았다 :

var url = localStorage.getItem([lastSelection]) 

어떻게 localStorage.getItem('target2') 같은 결과를 얻을 수 lastSelection의 값을 사용할 수 있습니까?

+0

글쎄, 당신은'eval (lastSelection)'을 사용할 수 있지만, 여러 가지 이유로 나쁜 접근법입니다. – Blazemonger

답변

0

'target1'및 'target2'이 (가) 드롭 다운에 나타나는 텍스트 인 것으로 보입니다. 당신은 사용할 수 있습니다

var selectedText = $("#dropdownId option:selected").text(); 

그들은 당신이 이제까지 한 사용자가 매개 변수로 원하는 selectedText 또는 selectedValue를 사용할 수 있습니다 지금 다음 텍스트 대신 옵션의 실제 값에

var selectedValue = $("#dropdownId option:selected").val(); 

을 참조하는 경우 로컬 저장소에서 물건을 가져옵니다.

var url = localStorage.getItem(selectedText); 
0

val()은 드롭 다운의 선택된 값을 제공합니다. 당신이 dropdowntarget1을 선택하면 그것은 당신에게 google.com을 줄 것이다 예상대로 target2 것이 당신에게 gmail.com을 줄 것이다 그래서이

localStorage.getItem($("dropdownSelector").val()); 

을보십시오.

관련 문제