請原諒我對此的無知。我有代碼做我需要的,但是,我知道有一個更優雅的解決方案。它只是迴避我和我的時間修補和谷歌搜索。將數組名稱作爲字符串傳遞,jquery
我有一個選擇框。當選擇發生變化時,我得到該值並對某些元素進行一些更改。選定的值是一個數組名稱 - 但我不知道如何獲取$(this).val()並使用它來訪問匹配的數組,這迫使我做所有的事。
<select id="theme">
<option value="cherry">Cherry</option>
<option value="black">Black</option>
<option value="blueberry">Blueberry</option>
<option value="vanilla">Vanilla</option>
</select>
<div id="bgColorTxt">
<span id="hiColorTxt">TEXT</span><span id="loColorTxt">TEXT</span>
</div>
......
$("#theme").change(function() {
var black = [ "000000", "C9C8C9", "3D3A3E" ];
var vanilla = [ "C5C4C1", "ffffff", "9A9998" ];
etc...
if ($(this).val() === "vanilla") {
$('#bgColor').val(vanilla[0]);$('#hiColor').val(vanilla[1]);$('#loColor').val(vanilla[2]);
$('#bgColorTxt,#hiColorTxt,#loColorTxt').css('background-color','#'+vanilla[0]);
$('#hiColorTxt').css('color','#'+vanilla[1]);
$('#loColorTxt').css('color','#'+vanilla[2]);
} else if ($(this).val() === "black") {
我試過有在選擇名稱爲黑色[],香草[],並試圖通過$訪問(這).VAL()[]和各種不同的方式。
我想什麼做的是這樣的:
$('#bgColor').val(arrayname[0]);$('#hiColor').val(arrayname[1]);$('#loColor').val(arrayname[2]);
$('#bgColorTxt,#hiColorTxt,#loColorTxt').css('background-color','#'+arrayname[0]);
$('#hiColorTxt').css('color','#'+arrayname[1]);
$('#loColorTxt').css('color','#'+arrayname[2]);
感謝任何指針
感謝您的回覆,我一直無法爲我工作。我會再試一次。可能是我的胖手指和語法。 –