2009-03-10 2 views
0

나는 이것을 "좋아"하는 것을 시도하고 있습니다. 콤보에서 선택한 값에 따라 일부 JS 변수에 저장된 텍스트를 문서에 추가하고 싶습니다. 즉, 콤보의 선택된 값을 기반으로 JS 변수를 참조하는 방법은 무엇입니까?jquery를 사용하여 변경 이벤트에 JS var의 텍스트 추가

<select id="clickMe"> 
    <option value="a">a</a> 
    <option value="b">b</a> 
    <option value="c">c</a> 
</select> 

<span id="attachHere"></span> 

<script> 

var a = "something about a"; 
var b = "something about b"; 
var c = "something about c"; 

$(document).ready(function() { 
    $("#clickMe").change(function() { 
     $("#attachHere").text($("#clickMe").val()); 
    }); 
}); 


</script> 

답변

4

왜 대신 같은 뭔가하지?

<script> 
<!-- 

var values = { 
    'a' : "something about a", 
    'b' : "something about b", 
    'c' : "something about c", 
}; 

$(document).ready(function() { 
    $("#clickMe").change(function() { 
     $("#attachHere").text(values[$("#clickMe").val()]); 
    }); 
}); 

//--> 
</script> 

값 목록을 제어하고 값을 쉽게 추가하고 제거 할 수 있습니다.

3

당신이 배열 객체를 사용하는 경우가 더 좋을 것입니다.

당신이 배열을 사용하지 않는 가정, 난 당신이 평가를 사용할 수 있다고 생각 :

$(document).ready(function() { 
    $("#clickMe").change(function() { 
     var tmp; 
     eval('tmp = ' + $("#clickMe").val()); 
     $("#attachHere").text(tmp); 
    }); 
}); 
+0

배열도 좋습니다. 하지만 eval()을 사용하는 것이 좋습니다. – lpfavreau

+0

멋지다. eval()은 작동했지만 lpfavreau에 대한 해답을 제시해야합니다. –

2

선택 항목에 의해 키 입력 된 값에 값을 넣은 다음 선택한 값을 기준으로 추출하십시오.

var choices = {}; 
choices['a'] = 'something about a'; 
choices['b'] = 'something about b'; 
choices['c'] = 'something about c'; 

$(document).ready(function() { 
    $("#clickMe").change(function() { 
     $("#attachHere").text(choices[$(this).val()]); 
    }); 
}); 
관련 문제