【发布时间】:2023-04-02 15:06:01
【问题描述】:
请原谅我对此一无所知。我有代码做我需要的,但是,我知道有一个更优雅的解决方案。它只是逃避了我和我的修补和谷歌搜索时间。
我有一个选择框。 When the selection changes I get the value and make some changes to some elements.选定的值是一个数组名称 - 但我不知道如何获取 $(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") {
我尝试将选择中的名称设置为 black[]、vanilla[] 并尝试通过 $(this).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]);
感谢大家的指点
【问题讨论】:
标签: javascript jquery arrays string